harfbuzz/harfbuzz.changes

1793 lines
71 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-------------------------------------------------------------------
Sun May 7 20:19:26 UTC 2023 - Andreas Stieger <Andreas.Stieger@gmx.de>
- update to version 7.2.0:
+ Improve Tifinagh glyph positioning
+ Fix 4.2.0 regression in applying across syllables in syllabic
scripts.
+ Add flag to avoid glyph substitution closure during subsetting,
and the corresponding “--no-layout-closure” option to
“hb-subset” command line tool.
+ Support instancing COLRv1 table
+ Optimize handling of “gvar” table
+ Various subsetter bug fixes and improvements, documentation
-------------------------------------------------------------------
Fri Mar 3 17:01:21 UTC 2023 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 7.1.0:
+ New experimental API that uses font variations to expand or
shrink the text to a given advance
+ Various build and bug fixes.
+ New API: hb_font_set_variation().
-------------------------------------------------------------------
Tue Feb 21 11:02:02 UTC 2023 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 7.0.1:
+ Various build and bug fixes
-------------------------------------------------------------------
Sun Feb 12 08:51:43 UTC 2023 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 7.0.0:
+ New hb-paint API that is designed mainly to paint COLRv1 glyphs,
but can be also used as a unified API to paint any of the glyph
representations supported by HarfBuzz (B/W outlines, color
layers, or color bitmaps).
+ New hb-cairo API for integrating with cairo graphics library.
This is provided as a separate harfbuzz-cairo library.
+ Support for instancing CFF2 table
+ Support font emboldening
+ Support feature ranges with AAT shaping
+ Experimental support to cubic curves in glyf table
+ Various subsetter improvements
+ Various documentation improvements
+ Significantly reduced memory use during shaping
+ Greatly reduced memory use during subsetting CFF table
+ New command line utility, hb-info, for querying various font
information
+ New hb-shape/hb-view options: --glyphs, --color-palette,
--font-bold, --font-grade, and --named-instance
+ Miscellaneous fixes and improvements
- harfbuzz-CVE-2023-25193.patch dropped in favor of upstream
consensus fix
-------------------------------------------------------------------
Mon Feb 6 17:11:49 UTC 2023 - Michael Gorse <mgorse@suse.com>
- Add harfbuzz-CVE-2023-25193.patch: limit how far we skip when
looking back (boo#1207922 CVE-2023-25193).
-------------------------------------------------------------------
Sat Dec 17 09:26:17 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 6.0.0:
+ Add API to pre-process the face and speed up future subsetting
operations on that face. Provides up to a 95% reduction in
subsetting times when the same face is subset more than once.
+ Shaping have been speedup by skipping entire lookups when the
buffer contents don't intersect with the lookup. Shows up to a
10% speedup in shaping some fonts
+ The HarfBuzz subsetter can now drop axes by pinning them to
specific values (also referred to as instancing)
- Drop harfbuzz-5.3.1-Fix_check-symbols_failure.patch: Fixed
upstream.
-------------------------------------------------------------------
Fri Oct 21 06:52:00 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 5.3.1:
+ Subsetter repacker fixes
+ Adjust Grapheme clusters for Katakana voiced sound marks
+ New hb-subset option --preprocess-face
- Add harfbuzz-5.3.1-Fix_check-symbols_failure.patch: Fix failing
tests.
-------------------------------------------------------------------
Sun Oct 9 06:33:58 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 5.3.0:
+ Dont add glyphs from dropped MATH or COLR tables to the subset
glyphs
+ Map rlig to appropriate AAT feature selectors
+ Update USE data files to latest version
+ Check CBDT extents first before outline tables, to help with
fonts that also include an empty glyf table
+ More work towards variable font instancing in the subsetter
+ Subsetter repacker improvements
-------------------------------------------------------------------
Tue Sep 20 17:21:33 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 5.2.0:
+ Fix regressions in hb-ft font functions for FT_Faces with
transformation matrix.
+ The experimental hb-repacker API now supports splitting several
GPOS subtable types when needed.
+ The HarfBuzz extensions to OpenType font format are now opt-in
behind build-time flags.
+ The experimental hb-subset variable fonts instantiation API can
now instantiate more font tables and arbitrary axis locations.
+ Unicode 15 support.
+ Various documentation improvements.
+ The hb-view command line tool now detects WezTerm inline images
support.
+ Fix FreeType and ICU dependency lookup with meson.
+ New API:
- +HB_SCRIPT_KAWI
- +HB_SCRIPT_NAG_MUNDARI
- Drop patch fixed upstream:
+ harfbuzz-5.1.0-repacker-fix-signedness-of-char-in-tests.patch
-------------------------------------------------------------------
Wed Aug 3 07:45:27 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- harfbuzz 5.1.0:
+ More extensive buffer tracing messages
+ Fix hb-ft regression in bitmap fonts rendering
+ Support extension promotion of lookups in hb-subset-repacker
+ A new HB_GLYPH_FLAG_SAFE_TO_INSERT_TATWEEL for scripts that use
elongation (e.g. Arabic) to signify where it is safe to insert
tatweel glyph without interrupting shaping
+ Add --safe-to-insert-tatweel to hb-shape tool
- add harfbuzz-5.1.0-repacker-fix-signedness-of-char-in-tests.patch
from upstream to fix ARM and PPC builds
-------------------------------------------------------------------
Sun Jul 24 16:34:16 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- harfbuzz 5.0.1, including changes from 5.0.0:
+ Improve for fonts with more than 65535 glyphs
+ Support version 2 of “avar” table
+ Improve support for some Arabic, Hebrew fonts
+ Support for specific script tags to be retained in the
subsetter, and add “--layout-scripts” option to “hb-subset”
tool
+ Improved handling of command line options
+ Improve support for multiple tables and font features,
and font feature specific bug fixes
-------------------------------------------------------------------
Sun Jul 3 09:33:36 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- harfbuzz 4.4.1:
+ Fix test failure with some compilers
+ Fix Telugu and Kannada kerning regression
- includes changes from 4.4.0:
+ Caching of variable fonts shaping
+ Caching of format 2 “Contextual Substitution” and “Chained
Contexts Substitution” lookups
+ Improved ANSI output from hb-view
+ Support for shaping legacy, pre-OpenType, Windows 3.1-era,
Arabic fonts that relied on a fixed PUA encoding
+ Sinhala script is now shaped by the USE shaper instead of
“indic” one
+ Thai shaper improvements
+ hb-ot-name API supports approximate BCP-47 language matching,
for example asking for “en_US” in a font that has only “en”
names will return them
+ Optimized TrueType glyph shape loading
+ Fix subsetting of HarfBuzz faces created via
hb_face_create_for_tables()
+ Add 32 bit var store support to the subsetter
+ CVE-2022-33068: overflow in hb-ot-shape-fallback boo#1200900
-------------------------------------------------------------------
Sat May 21 08:10:59 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 4.3.0:
+ Major speed up in loading and subsetting fonts, especially in
handling CFF table. Subsetting some fonts is now 3 times faster
+ Speed up blending CFF2 table
+ Speed up hb_ot_tags_from_language()
+ Fix USE classification of U+10A38 to fix multiple marks on
single Kharoshthi base
+ Fix parsing of empty CFF Index
+ Fix subsetting CPAL table with partial palette overlaps
-------------------------------------------------------------------
Sun Apr 24 11:28:52 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 4.2.1:
+ Make sure hb_blob_create_from_file_or_fail() always returns
nullptr in case of failure and not empty blob sometimes
+ Add --passthrough-tables option to hb-subset
+ Reinstate a pause after basic features in Khmer shaper, fixing
a regression introduced in previous release
+ Better handling of Regional_Indicator when shaped with RTL-
native scripts, reverting earlier fix that caused regressions
in AAT shaping
-------------------------------------------------------------------
Wed Mar 30 17:50:55 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 4.2.0:
+ Revert Indic shaper change in previous release that broke some
fonts and instead make per-syllable restriction of “GSUB”
application limited to script-specific Indic features, while
applying them and discretionary features in one go
+ Fix decoding of private in gvar table
+ Fix handling of contextual lookups that delete too many glyphs
+ Make “morx” deleted glyphs dont block “GPOS” application
-------------------------------------------------------------------
Wed Mar 23 19:39:23 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 4.1.0:
+ Various OSS-Fuzz fixes
+ Make fallback vertical-origin match FreeTypes
+ Treat visible viramas like dependent vowels in USE shaper
+ Apply presentation forms features and discretionary features in
one go in Indic shaper, which seems to match Uniscribe and
CoreText behaviour
+ Various bug fixes
-------------------------------------------------------------------
Sat Mar 12 21:21:28 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 4.0.1:
+ Update OpenType to AAT mappings for “hist” and “vrtr” features
+ Update IANA Language Subtag Registry to 2022-03-02
+ Update USE shaper to allow any non-numeric tail in a symbol
cluster, and remove obsolete data overrides
+ Fix handling of baseline variations to return correctly scaled
values
-------------------------------------------------------------------
Wed Mar 2 19:18:03 UTC 2022 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 4.0.0:
+ New public API to create subset plan and gather information on
things like glyph mappings in the final subset. The plan can
then be passed on to perform the subsetting operation.
+ Draw API for extracting glyph shapes have been extended and
finalized and is no longer an experimental API. The draw API
supports glyf, CFF and CFF2 glyph outlines tables, and applies
variation settings set on the font as well as synthetic slant.
The new public API is not backward compatible with the
previous, non-public, experimental API.
+ The hb-view tool will use HarfBuzz draw API to render the
glyphs instead of cairo-ft when compiled with Cairo 1.17.5 or
newer, setting HB_DRAW environment variable to 1 or 0 will
force using or not use the draw API, respectively.
+ The hb-shape and hb-view tools now default to using HarfBuzzs
own font loading functions (ot) instead of FreeType ones (ft).
They also have a new option, --font-slant, to apply synthetic
slant to the font.
+ HarfBuzz now supports more than 65535 (the OpenType limit)
glyph shapes and metrics. See be-fonts/boring-expansion-spec#6
and be-fonts/boring-expansion-spec#7 for details.
+ New API to get the dominant horizontal baseline tag for a given
script.
+ New API to get the baseline positions from the font, and
synthesize missing ones. As well as new API to get font metrics
and synthesize missing ones.
+ Improvements to finding dependencies on Windows when building
with Visual Studio.
+ New buffer flag, HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT, that
must be set during shaping for HB_GLYPH_FLAG_UNSAFE_TO_CONCAT
flag to be reliably produced. This is to limit the performance
hit of producing this flag to when it is actually needed.
+ Documentation improvements.
+ New API:
- General:
. HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT
. hb_var_num_t
- Draw:
. hb_draw_funcs_t
. hb_draw_funcs_create()
. hb_draw_funcs_reference()
. hb_draw_funcs_destroy()
. hb_draw_funcs_is_immutable()
. hb_draw_funcs_make_immutable()
. hb_draw_move_to_func_t
. hb_draw_funcs_set_move_to_func()
. hb_draw_line_to_func_t
. hb_draw_funcs_set_line_to_func()
. hb_draw_quadratic_to_func_t
. hb_draw_funcs_set_quadratic_to_func()
. hb_draw_cubic_to_func_t
. hb_draw_funcs_set_cubic_to_func()
. hb_draw_close_path_func_t
. hb_draw_funcs_set_close_path_func()
. hb_draw_state_t
. HB_DRAW_STATE_DEFAULT
. hb_draw_move_to()
. hb_draw_line_to()
. hb_draw_quadratic_to()
. hb_draw_cubic_to()
. hb_draw_close_path()
. hb_font_get_glyph_shape_func_t
. hb_font_funcs_set_glyph_shape_func()
. hb_font_get_glyph_shape()
- OpenType layout:
. HB_OT_LAYOUT_BASELINE_TAG_IDEO_FACE_CENTRAL
. HB_OT_LAYOUT_BASELINE_TAG_IDEO_EMBOX_CENTRAL
. hb_ot_layout_get_horizontal_baseline_tag_for_script()
. hb_ot_layout_get_baseline_with_fallback()
- Metrics: hb_ot_metrics_get_position_with_fallback()
- Subset:
. hb_subset_plan_t
. hb_subset_plan_create_or_fail()
. hb_subset_plan_reference()
. hb_subset_plan_destroy()
. hb_subset_plan_set_user_data()
. hb_subset_plan_get_user_data()
. hb_subset_plan_execute_or_fail()
. hb_subset_plan_unicode_to_old_glyph_mapping()
. hb_subset_plan_new_to_old_glyph_mapping()
. hb_subset_plan_old_to_new_glyph_mapping()
-------------------------------------------------------------------
Sun Feb 13 07:57:21 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 3.4.0:
+ Perform sanity checks on shaping results is now part of
“harfbuzz” library and can be enabled by setting the buffer
flag HB_BUFFER_FLAG_VERIFY
+ Arabic Mark Transient Reordering Algorithm have been updated
to revision 6
+ ISO 15924 code for mathematical notation, Zmth, now maps to
the OpenType math tag
+ It is now possible to get at once all math kerning values for a
given glyph at a given corner
+ Fix locale_t portability issues on systems the typedefs it to
a void pointer
-------------------------------------------------------------------
Mon Feb 7 06:06:38 UTC 2022 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 3.3.2:
+ Revert splitting of pair positioning values introduced in 3.3.0
as it proved problematic
- includes changes from 3.3.1:
+ Fix heap-use-after-free in harfbuzz-subset introduced in
previous release
- includes changes from 3.3.0:
+ Improved documentation, code cleanup
+ The low 16-bits of face index will be used by hb_face_create()
to select a face inside a font collection file format, while the
high 16-bits will be used by hb_font_create() to load the named
instance
+ Glyph positions and other font metrics now apply synthetic slant
set by hb_font_set_synthetic_slant(), for improved positioning
for synthetically slanted fonts
+ Fixed unintentional locale dependency in hb_variation_to_string()
for decimal point representation
+ When applying pair positioning (kerning) the positioning value
is split between the two sides of the pair for improved cursor
positioning between such pairs
+ Introduced new HB_GLYPH_FLAG_UNSAFE_TO_CONCAT, to be used in
conjunction with HB_GLYPH_FLAG_UNSAFE_TO_BREAK for optimizing
re-shaping during line breaking. Check the documentation for
further details
+ Improved handling of macrolanguages when mapping BCP 47 codes
to OpenType tags
-------------------------------------------------------------------
Fri Dec 17 22:07:57 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>
- Use ldconfig_scriptlets macro for post(un) handling.
- Add generic c_compiler BuildRequires for completeness.
-------------------------------------------------------------------
Fri Dec 17 18:39:54 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to 3.2.0:
+ Fixed shaping of Apple Color Emoji flags in right-to-left context
+ Fixed positioning of CFF fonts in HB_TINY profile
+ OpenType 1.9 language tags update
+ Add HB_NO_VERTICAL config option
+ Add HB_CONFIG_OVERRIDE_H for easier configuration
+ Improved packing of cmap, loca, and Ligature tables
+ Significantly improved overflow-resolution strategy in the repacker
-------------------------------------------------------------------
Fri Dec 17 17:50:56 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to 3.1.2:
+ hb-shape / hb-view: revert treating text on the commandline as
single paragraph (was introduced in 3.0.0); add new
--single-par to do that
+ Subsetter bug fixes
-------------------------------------------------------------------
Tue Nov 9 15:51:45 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 3.1.1:
+ Work around GCC cast-align error/warning on some platforms.
+ Documentation improvements.
- Drop patch fixed upstream:
+ harfbuzz-3.1.0-work-around-GCC-cast-align-error-warning.patch
-------------------------------------------------------------------
Sat Nov 6 05:48:26 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>
- harfbuzz 3.1.0:
* Better offset-overflow handling in the subsetter library
* Improved Unicode 14 properties in the USE shaper, and various
other USE shaper fixes
* MATH and COLR v1 tables subsetting support, and various other
subsetter fixes
* Support for Pwo Karen / Ason Chin medial la. (Simon Cozens)
* Apply GPOS positioning when substituting with morx table, if
kerx is missing
* Apply calt and clig features across syllable boundaries in
Indic shaper
* Meson option for enabling Graphite 2 has been renamed to
graphite2
* Build and documentation fixes
- add harfbuzz-3.1.0-work-around-GCC-cast-align-error-warning.patch
-------------------------------------------------------------------
Sat Sep 18 09:33:44 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>
- harfbuzz 3.0.0:
+ Unicode 14.0 support
+ hb-subset API and harfbuzz-subset ABI now declared stable
+ hb-style API is now stable
-------------------------------------------------------------------
Sun Sep 12 18:55:12 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>
- harfbuzz 2.9.1:
+ Subsetter API close to stable
+ Various fuzzer-found bug fixes
+ hb_buffer_append() now handles the pre- and post-context which
previously were left unchanged in the destination buffer
+ hb-view / hb-shape now accept following new arguments:
--unicodes: takes a list of hex numbers that represent Unicode
codepoints.
+ Undeprecated API: hb_set_invert()
- includes changes from 2.9.0:
+ Support multiple variation axes with same tag, aka HOI
+ The coretext testing shaper now passes font variations to
CoreText
+ hb-shape/hb-view does not break line at new lines unless text
is read from file
+ hb-view and hb-subset has a --batch now, similar to hb-shape
+ The --batch mode now uses ; as argument separator instead of :
used previously
+ The --batch in hb-shape does not expect 0th argument anymore.
That is, the lines read are interpreted as argv[1:], instead
of argv[0:].
+ The --batch option has been undocumented. We are ready to
document it; send feedback if you find it useful
+ hb-subset got arguments revamps. Added much-requested
--gids-file, --glyphs, --glyphs-file, --unicodes-file,
supporting ranges in --unicodes.
+ Various bug fixes
-------------------------------------------------------------------
Sat Jul 17 10:09:15 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
- Drop pkgconfig(chafa) BuildRequires for now: causes a cycle
between chafa and harfbuzz, and disable it in meson
-------------------------------------------------------------------
Wed Jul 14 09:54:30 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 2.8.2:
+ Shaping LTR digits for RTL scripts now makes the native
direction of the digits LTR, applying shaping and positioning
rules on the same glyph order as Uniscribe
+ Subsetting COLR v1 and CPAL tables is now supported
+ Various fixes and improvements to the subsetter
+ When applying morx table, mark glyph widths should not be zeroed
+ GPOS is preferred over kerx, if GSUB was applied
+ Regional_Indicator pairs are grouped together when clustering
-------------------------------------------------------------------
Thu May 6 07:34:56 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 2.8.1:
+ Subsetter now fully supports GSUB/GPOS/GDEF tables (including
variations); as such, layout tables are retained by subsetter
by default
+ hb-view supports iTerm2 and kitty inline image protocols
it can also use Chafa for terminal graphics if available
- Add pkgconfig(chafa): new, optional depdency.
-------------------------------------------------------------------
Tue Apr 13 08:20:55 UTC 2021 - Christophe Giboudeaux <christophe@krop.fr>
- Update to version 2.8.0:
+ Shape joining scripts other than Arabic/Syriac using the
Universal Shaping Engine. Previously these were shaped using
the generalized Arabic shaper.
+ Fix regression in shaping of U+0B55 ORIYA SIGN OVERLINE.
+ Update language tags.
+ Variations: reduce error: do not round each interpolated delta.
+ Documentation improvements.
+ Subsetter improvements: subsets most, if not all, lookup types
now.
+ Fuzzer-found fixes and other improvements when memory failures
happen.
+ Removed most atomic implementations now that we have C++11
atomic impl.
+ General codebase upkeep; using more C++11 features: constexpr
constructors, etc.
-------------------------------------------------------------------
Wed Jan 13 12:03:09 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
- Re-enable graphite2 support: TexLive relies on this to be
present:
+ Pass -Dgraphite=enabled to meson.
+ Add pkgconfig(graphite2) BuildRequires.
-------------------------------------------------------------------
Fri Jan 8 20:39:59 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>
- Switch to meson buildsystem:
+ Add meson BuildRequires and macros.
+ Replace gcc-c++ for generic c++_compiler BuildRequires.
+ Add meson_test macro in check section, run tests during build.
+ Drop pkgconfig(graphite2) BuildRequires: No longer build
graphite2 support, following upstream that disables this by
default.
+ Stop packaging gtk-docs, pass -Ddocs=disabled to meson, this
way we might avoid a build-cycle and since we did not have a
explicit docs subpackage, just silently drop them.
-------------------------------------------------------------------
Sun Dec 27 15:55:30 UTC 2020 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 2.7.4:
+ Fix missing --enable-introspection configure option
- Changes from version 2.7.3:
+ Update USE shaper to 2020-08-13 specification, and other
improvements
+ Dont disable liga feature in myanmar shaper, to match
Uniscribe
+ Improvements to language and script tags handling.
+ Update language system tag registry to OpenType 1.8.4
+ Support for serializing and deserializing Unicode buffers
+ Increase buffer work limits to handle fonts with many complex
lookups
+ Handle more shaping operations in trace output
+ Memory access fixes
+ More OOM fixes
+ Improved documentation.
-------------------------------------------------------------------
Thu Sep 17 11:54:35 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- Update to version 2.7.2:
+ Fix a regression in the previous release that caused a crash
with Kaithi.
+ More OOM fixes.
+ ot-funcs now handles variable empty glyphs better when
hvar/vvar isn't present.
+ Reverted a GDEF processing regression.
+ A couple of fixes to handle OOM better.
+ Use an implementation for round that always rounds up, some
minor fluctuations are expected on var font specially when
hb-ot callback is used.
+ Fix an AAT's `kerx` issue on broken rendering of Devanagari
Sangam MN.
+ Remove AAT's `lcar` table support from _get_ligature_carets
API, not even much use on macOS installed fonts (only two
files). GDEF support is the recommended one and expected to
work properly after issues fixed two releases ago.
- Minor memory fixes to handle OOM better specially in hb-ft.
- Minor .so files versioning scheme change and remove
stable/unstable scheme differences, was never used in practice
(always default to stable scheme).
- We are now suggesting careful packaging of the library using
meson, https://github.com/harfbuzz/harfbuzz/wiki/Notes-on-migration-to-meson
for more information.
- Distribution package URL is changed, either use GitHub
generated tarballs,
`https://github.com/harfbuzz/harfbuzz/archive/$pkgver.tar.gz`
or, even more preferably use commit hash of the release and git
checkouts like,
`git+https://github.com/harfbuzz/harfbuzz#commit=$commit`
-------------------------------------------------------------------
Tue Jun 23 13:54:41 UTC 2020 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 2.6.8:
+ New API to fetch glyph alternates from GSUB table
+ New API +hb_ot_layout_lookup_get_glyph_alternates()
- Drop gpg2 BuildRequires and stop verifying signature during
build: upstream no longer signs the tarball/signature.
-------------------------------------------------------------------
Wed Jun 3 18:29:52 UTC 2020 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 2.6.7:
+ Update to Unicode 13.0.0
+ Fix hb_ot_layout_get_ligature_carets for fonts without lcar
table
- includes fixes from 2.6.6:
* A fix in AAT kerning for Geeza Pro
-------------------------------------------------------------------
Sat Apr 18 09:03:16 UTC 2020 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 2.6.5:
+ AAT is now always preferred for horizontal scripts when both
AAT and OT layout tables exist at the same time
+ Subsetter improvements
+ New API: hb_ft_font_lock_face(), hb_ft_font_unlock_face()
- Update Source url's to new home on github.
-------------------------------------------------------------------
Sun Nov 24 17:43:36 UTC 2019 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 2.6.4:
+ small bug fixes and build fixes
-------------------------------------------------------------------
Tue Oct 29 17:49:28 UTC 2019 - Andreas Stieger <andreas.stieger@gmx.de>
- Update to version 2.6.3:
+ Misc small fixes, mostly to build-related issues
+ New API: hb_font_get_nominal_glyphs()
-------------------------------------------------------------------
Sun Oct 6 19:27:44 UTC 2019 - Andreas Stieger <andreas.stieger@gmx.de>
- add upstream sigining keyring and verify source signature
-------------------------------------------------------------------
Thu Oct 3 21:11:08 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.6.2:
+ Misc small fixes, mostly to build-related issues.
-------------------------------------------------------------------
Fri Sep 13 20:20:39 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.6.1:
+ Fix regression with hb_font_create_sub_font scaling introduced
in 2.6.0.
+ Change interpretation of font PTEM size / CoreText font size
handling.
+ hb-ot-font: Prefer symbol cmap subtable if present.
+ Apply 'dist'/'abvm'/'blwm' features to all scripts.
+ Drop experimental DirectWrite API.
- Changes from version 2.6.0:
+ New OpenType metrics, baseline, and metadata table access APIs.
+ New API to set font variations to a named-instance.
+ New hb-gdi.h header and API for creating hb_face_t from HFONT.
+ Amalgam: Provide a single-file harfbuzz.cc file for easier
alternate building.
+ More size-reduction configurable options, enabled by HB_TINY.
-------------------------------------------------------------------
Sat Jul 13 21:26:23 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 2.5.3:
+ Fix UCD script data for Unicode 10+ scripts. This was broken
since 2.5.0.
+ More optimizations for HB_TINY.
- Changes from version 2.5.2:
+ More hb-config.hh facilities to shrink library size, namely
when built as HB_TINY.
+ New documentation of custom configurations in CONFIG.md.
+ Fix build on gcc 4.8. That's supported again.
+ Universal Shaping Engine improvements.
+ API Changes: Undeprecate some horizontal-kerning API and
re-enable in hb-ft, such that Type1 fonts will continue
kerning.
- Changes from version 2.5.1:
+ Fix build with various versions of Visual Studio.
+ Improved documentation.
+ Bugfix in subsetting glyf table.
+ Improved scripts for cross-compiling for Windows using mingw.
+ Rename HB_MATH_GLYPH_PART_FLAG_EXTENDER to
HB_OT_MATH_GLYPH_PART_FLAG_EXTENDER. A deprecated macro is
added for backwards-compatibility.
- Changes from version 2.5.0:
+ This release does not include much functional changes, but
includes major internal code-base changes. We now require
C++11. Support for gcc 4.8 and earlier has been dropped.
+ New hb-config.hh facility for compiling smaller library for
embedded and web usecases.
+ New Unicode Character Databse implementation that is half the
size of previously-used UCDN.
+ Subsetter improvements.
+ Improved documentation.
+ isc shaping fixes.
- Changes from version 2.4.0:
+ Unicode 12.
+ Misc fixes.
+ Subsetter improvements.
+ New API: HB_BUFFER_FLAG_DO_NOT_INSERT_DOTTED_CIRCLE and
hb_directwrite_face_create().
-------------------------------------------------------------------
Mon Mar 18 12:56:20 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 2.3.1:
* too many changes to ever iterate, see NEWS for the details
-------------------------------------------------------------------
Thu Oct 4 12:56:06 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com>
- Update to 1.9.0:
* Various gcc warning fixes
* New Face-builder API
* Internal source header name changes
* Major Khmer shaper improvements
* Couple of Indic bugfixes
-------------------------------------------------------------------
Sat Jun 16 03:46:42 UTC 2018 - luc14n0@linuxmail.org
- Update to version 1.8.1:
+ Add correctness bug in hb_set_t operations, introduced in
1.7.7.
- Changes from version 1.8.0:
+ Update to Unicode 11.0.0.
- Changes from version 1.7.7:
+ All HarfBuzz objects are significantly smaller in size now.
+ Sinhala: Position repha on top of post-consonant, not base.
+ Significant libharfbuzz-subset changes. API subject to change.
+ New API in libharfbuzz: hb_blob_create_from_file() and
hb_face_count().
- Add missing post(un) ldconfig scriptlets for libharfbuzz-subset
shared library.
-------------------------------------------------------------------
Tue Mar 13 10:34:46 UTC 2018 - bjorn.lie@gmail.com
- Update to version 1.7.6:
+ Fix to hb_set_t binary operations. Ouch.
+ New experimental harfbuzz-subset library. All of hb-subset.h is
experimental right now and API WILL change.
+ New API:
- hb_blob_copy_writable_or_fail().
- HB_OT_TAG_BASE.
- hb_set_previous().
- hb_set_previous_range().
- Split out new sub-package libharfbuzz-subset0.
- Add libharfbuzz-gobject0 and libharfbuzz-subset0 to baselibs.
- Use make_build macro.
-------------------------------------------------------------------
Tue Mar 13 08:36:14 UTC 2018 - jengelh@inai.de
- Update summaries.
-------------------------------------------------------------------
Sun Mar 11 03:40:33 UTC 2018 - luc14n0@linuxmail.org
- Fix broken libharbuzz-gobject.so symlink by requiring Harfbuzz's
Gobject library for the devel package.
- Add missing GI bindings requirement for the devel package.
-------------------------------------------------------------------
Fri Mar 9 11:51:15 UTC 2018 - astieger@suse.com
- Fix build on Leap 42.3: don't use make_build.
-------------------------------------------------------------------
Wed Feb 28 16:33:22 UTC 2018 - dimstar@opensuse.org
- Modernize spec-file by calling spec-cleaner
-------------------------------------------------------------------
Fri Feb 9 21:00:57 UTC 2018 - bjorn.lie@gmail.com
- Update to version 1.7.5:
+ Separate Khmer shaper from Indic.
+ First stab at AAT morx. Not hooked up.
+ Misc bug fixes.
-------------------------------------------------------------------
Wed Jan 10 21:34:23 UTC 2018 - crrodriguez@opensuse.org
- harfbuzz-devel hb-ft.h requires pkgconfig(freetype2) but it is
not automatically added by the dependency generator.
-------------------------------------------------------------------
Tue Jan 9 19:33:26 UTC 2018 - zaitor@opensuse.org
- Add pkgconfig(gobject-2.0) and
pkgconfig(gobject-introspection-1.0) BuildRequires, and pass
with-gobject=yes to configure, build GObject and Introspection
support.
- Following this, package the new sub-packages libharfbuzz-gobject0
and typelib-1_0-HarfBuzz-0_0.
- Clean up spec, use autosetup and make_build macros.
-------------------------------------------------------------------
Wed Dec 20 17:56:08 UTC 2017 - zaitor@opensuse.org
- Update to version 1.7.4:
+ Fix collect_glyphs() regression caused by hb_set_t changes.
- Changes from version 1.7.3:
+ hb_set_t performance tuning and optimizations.
+ Speed up collect_glyphs() and reject garbage data.
+ In hb_coretext_font_create() set font point-size (ptem).
+ Misc fixes.
-------------------------------------------------------------------
Sun Dec 10 23:16:04 UTC 2017 - zaitor@opensuse.org
- Update to version 1.7.2:
+ Optimize hb_set_add_range().
+ Misc fixes.
+ New API: hb_coretext_font_create().
-------------------------------------------------------------------
Sat Dec 2 20:44:17 UTC 2017 - zaitor@opensuse.org
- Update to version 1.7.1:
+ Fix atexit object destruction regression.
+ Fix minor integer-overflow.
- Changes from version 1.7.0:
+ Minor Indic fixes.
+ Implement kerning and glyph names in hb-ot-font.
+ Various DSO optimization re .data and .bss sizes.
+ Make C++11 optional; build fixes.
+ Mark all other backends "unsafe-to-break".
+ Graphite fix.
-------------------------------------------------------------------
Fri Oct 27 20:28:36 UTC 2017 - luc14n0@linuxmail.org
- Update to version 1.6.3:
+ Fix hb_set_t some more. Should be solid now.
+ Implement get_glyph_name() for hb-ot-font.
+ Misc fixes.
- Changes from version 1.6.2:
+ Yesterday's release had a bad crasher; don't use it
(gh#behdad/harfbuzz#578).
- Changes from version 1.6.1:
+ Don't skip over COMBINING GRAPHEME JOINER when ligating, etc
(gh#behdad/harfbuzz#554).
+ Faster hb_set_t implementation.
+ Don't use deprecated ICU API.
+ Fix undefined-behavior in Myanmar shaper, introduced in 1.6.0.
+ Deprecated API: hb_set_invert().
- Changes from version 1.6.0:
+ Update to Unicode 10.
+ Various Indic and Universal Shaping Engine fixes.
+ Implement Unicode Arabic Mark Ordering Algorithm UTR#53.
+ Implement optical sizing / tracking in CoreText backend, using
new API hb_font_set_ptem().
+ Allow notifying hb_font_t that underlying FT_Face changed
sizing, using new API hb_ft_font_changed().
+ More Graphite backend RTL fixes.
+ Fix caching of variable font shaping plans.
+ hb-view / hb-shape now accept following new arguments:
o --unicodes: takes a list of hex numbers that represent
Unicode codepoints.
+ New API: hb_face_get_table_tags(), hb_font_set_ptem(),
hb_font_get_ptem() and hb_ft_font_changed().
- Drop pkgconfig(gobject-2.0) BuildRequires: not needed/used.
-------------------------------------------------------------------
Sat Sep 9 21:00:13 UTC 2017 - zaitor@opensuse.org
- Update to version 1.5.1:
+ Fix "unsafe-to-break" in fallback shaping and other corner
cases. All our tests pass with --verify now, meaning
unsafe-to-break API works as expected.
+ Add --unicodes to hb-view / hb-shape.
+ [indic] Treat Consonant_With_Stacker as consonant. This will
need further tweaking.
+ hb_buffer_diff() tweaks.
- Changes from version 1.5.0:
+ Misc new API, for appending a buffer to another, and for
comparing contents of two buffers for types of differences.
+ New "unsafe-to-break" API. Can be used to speed up reshaping
in line-breaking situations. Essentially, after shaping, it
returns positions in the input string (some of the cluster
boundaries) that are "safe to break" in that if the text is
segmented at that position and two sides reshaped and
concatenated, the shaping result is exactly the same as shaping
the text in one piece.
+ hb-view and hb-shape and hb-shape now take --verify, which
verifies the above property.
+ Some corner cases of the implementation are still not quite
working. Those will be fixed in subsequent releases.
-------------------------------------------------------------------
Sun Sep 3 14:44:33 UTC 2017 - zaitor@opensuse.org
- Update to version 1.4.8:
+ Major fix to avar table handling.
+ Rename hb-shape --show-message to --trace.
+ Build fixes.
- Changes from version 1.4.7:
+ Multiple Indic, Tibetan, and Cham fixes.
+ CoreText: Allow disabling kerning.
+ Adjust Arabic feature order again.
+ Misc build fixes.
-------------------------------------------------------------------
Tue Apr 25 10:26:28 UTC 2017 - dimstar@opensuse.org
- Update to version 1.4.6:
+ Graphite2: Fix RTL positioning issue.
+ Backlist GDEF of more versions of Padauk and Tahoma.
+ New, experimental, cmake alternative build system.
-------------------------------------------------------------------
Sat Mar 11 13:51:28 UTC 2017 - zaitor@opensuse.org
- Update to version 1.4.5 (fate#322101):
+ Revert "Fix Context lookup application when moving back after a
glyph..." This introduced memory access problems. To be fixed
properly soon.
-------------------------------------------------------------------
Tue Mar 7 14:24:55 UTC 2017 - zaitor@opensuse.org
- Update to version 1.4.4:
+ Fix Context lookup application when moving back after a glyph
deletion.
+ Fix buffer-overrun in Bengali.
-------------------------------------------------------------------
Sun Feb 26 18:38:24 UTC 2017 - zaitor@opensuse.org
- Update to version 1.4.3:
+ Route Adlam script to Arabic shaper.
+ Misc fixes.
+ New API: hb_font_set_face().
+ Deprecate API: hb_graphite2_font_get_gr_font().
- Tweak descriptions for icu and devel subpackages.
-------------------------------------------------------------------
Tue Jan 24 17:12:44 UTC 2017 - dimstar@opensuse.org
- Update to version 1.4.2:
+ Implement OpenType Font Variation tables avar/fvar/HVAR/VVAR.
+ hb-shape and hb-view now accept --variations.
+ Various API additions.
-------------------------------------------------------------------
Sun Jan 8 11:38:22 UTC 2017 - zaitor@opensuse.org
- Update to version 1.4.1:
+ Always build and use UCDN for Unicode data by default. Reduces
dependence on version of Unicode data in glib.
- Changes from version 1.4.0:
+ Merged "OpenType GX" branch which adds core of support for
OpenType 1.8 Font Variations.
+ New API:
- hb_font_set_var_coords_normalized().
- HB_OT_LAYOUT_NO_VARIATIONS_INDEX.
- hb_ot_layout_table_find_feature_variations().
- hb_ot_layout_feature_with_variations_get_lookups().
- hb_shape_plan_create2().
- hb_shape_plan_create_cached2().
+ Currently variations in GSUB/GPOS/GDEF are fully supported, and
no other tables are supported. In particular, fvar/avar are NOT
supported, hence the hb_font_set_var_coords_normalized() taking
normalized coordinates. API to take design coordinates will be
added in the future.
+ HVAR/VVAR/MVAR support will also be added to hb-ot-font in the
future.
+ Fix regression in GDEF glyph class processing.
+ Add decompositions for Chakma, Limbu, and Balinese in USE
shaper.
+ Misc fixes.
-------------------------------------------------------------------
Tue Dec 6 12:26:24 UTC 2016 - dimstar@opensuse.org
- Update to version 1.3.4:
+ Fix vertical glyph origin in hb-ot-font.
+ Implement CBDT/CBLC color font glyph extents in hb-ot-font.
-------------------------------------------------------------------
Fri Nov 4 14:38:14 UTC 2016 - zaitor@opensuse.org
- Update to version 1.3.3:
+ Implement parsing of OpenType MATH table.
-------------------------------------------------------------------
Wed Oct 26 09:34:39 UTC 2016 - dimstar@opensuse.org
- Drop pkgconfig(icu-le) BuildRequires: That was actually removed
upstream in version 0.9.21.
-------------------------------------------------------------------
Sun Oct 2 18:10:45 UTC 2016 - zaitor@opensuse.org
- Update to version 1.3.2:
+ Fix build of hb-coretext on older OS X versions.
-------------------------------------------------------------------
Thu Sep 15 06:02:10 UTC 2016 - zaitor@opensuse.org
- Update to version 1.3.1:
+ Blacklist bad GDEF of more fonts.
+ More CoreText backend crash fixes with OS X 10.9.5.
+ Misc fixes.
-------------------------------------------------------------------
Thu Jul 28 14:23:24 UTC 2016 - zaitor@opensuse.org
- Update to version 1.3.0:
+ Update to Unicode 9.0.0.
+ Move Javanese from Indic shaper to Universal Shaping Engine.
+ Allow MultipleSubst to delete a glyph (matching Windows
engine).
+ Update Universal Shaping Engine to latest draft from Microsoft.
+ DirectWrite backend improvements. Note: this backend is for
testing ONLY.
+ CoreText backend improvements with unreachable fonts.
+ Implement symbol fonts (cmap 3.0.0) in hb-ft and hb-ot-font.
+ Blacklist bad GDEF of more fonts (Tahoma & others).
+ Misc fixes.
-------------------------------------------------------------------
Fri May 27 11:48:17 UTC 2016 - idonmez@suse.com
- Update to GNOME 3.20.2 FATE#318572
-------------------------------------------------------------------
Tue May 10 20:56:56 UTC 2016 - zaitor@opensuse.org
- Update to version 1.2.7:
+ Blacklist another version of Times New Roman (Bold) Italic from
Windows 7.
+ Fix Mongolian Free Variation Selectors shaping with certain
fonts.
+ Fix Tibetan shorthand contractions shaping.
+ Improved list of language tag mappings.
+ Unbreak build on Windows CE.
+ Make 'glyf' table loading lazy in hb-ot-font.
-------------------------------------------------------------------
Mon Apr 11 12:35:50 UTC 2016 - zaitor@opensuse.org
- Update to version 1.2.6:
+ Blacklist GDEF table of another set of Times New Roman (Bold)
Italic.
+ DirectWrite backend improvements. Note: DirectWrite backend is
exclusively for our internal testing and should NOT be used in
any production system whatsoever.
-------------------------------------------------------------------
Fri Apr 8 19:08:56 UTC 2016 - zaitor@opensuse.org
- Update to version 1.2.5:
+ Fix GDEF mark-filtering-set, which was broken in 1.2.3.
-------------------------------------------------------------------
Fri Mar 18 14:54:49 UTC 2016 - zaitor@opensuse.org
- Update to version 1.2.4:
+ Synthesize GDEF glyph class for any glyph that does not have
one in GDEF. Hope we don't discover broken fonts that shape
badly with this change.
+ Misc build and other minor fixes.
+ API changes: Added HB_NDEBUG. It's fine for production systems
to define this to disable high-overhead debugging checks.
-------------------------------------------------------------------
Tue Mar 1 19:40:45 UTC 2016 - zaitor@opensuse.org
- Update to version 1.2.3:
+ Blacklist GDEF table of certain versions of Times New Roman
(Bold) Italic, due to bug in glyph class of ASCII double-quote
character. This should address "regression" introduced in 1.2.0
when we switched mark zeroing in most shapers from
BY_UNICODE_LATE to BY_GDEF_LATE. This fourth release in a week
should finally stablize things...
+ hb-ot-font's get_glyph() implementation saw some optimizations.
Though might be really hard to measure in real-world
situations.
+ Also, two rather small API changes:
- We now disable some time-consuming internal bookkeeping if
built with NDEBUG defined. This is a first time that we use
NDEBUG to disable debug code. If there exist production
systems that do NOT want to enable NDEBUG, please let me know
and I'll add HB_NDEBUG.
- Added get_nominal_glyph() and get_variation_glyph() instead
of get_glyph()
+ New API:
- hb_font_get_nominal_glyph_func_t.
- hb_font_get_variation_glyph_func_t.
- hb_font_funcs_set_nominal_glyph_func().
- hb_font_funcs_set_variation_glyph_func().
- hb_font_get_nominal_glyph().
- hb_font_get_variation_glyph().
+ Deprecated API:
- hb_font_get_glyph_func_t.
- hb_font_funcs_set_glyph_func().
+ Clients that implement their own font-funcs are encouraged to
replace their get_glyph() implementation with a
get_nominal_glyph() and get_variation_glyph() pair. The
variation version can assume that variation_selector argument
is not zero. Old (deprecated) functions will continue working
indefinitely using internal gymnastics; it is just more
efficient to use the new functions.
- Changes from version 1.2.2:
+ Fix regression with mark positioning with fonts that have
non-zero mark advances. This was introduced in 1.2.0 while
trying to make mark and cursive attachments to work together.
I have partially reverted that, so this version is much more
like what we had before. All clients who updated to 1.2.0
should update to this version.
- Changes from version 1.2.1:
+ CoreText:
- Fix bug with wrong scale if font scale was changed later
(gh/libass/libass/#212).
- Drastically speed up font initialization.
- Fix tiny leak.
+ Group ZWJ/ZWNJ with previous syllable under cluster-level=0
(gh/behdad/harfbuzz#217).
+ Add test/shaping/README.md about how to add tests to the suite.
-------------------------------------------------------------------
Mon Feb 22 16:49:31 UTC 2016 - zaitor@opensuse.org
- Add Conflicts: cantarell-fonts < 0.0.23. Previous versions of
cantarell-fonts have a bug that harfbuzz now exposes, so add a
conflicts to work-around that.
-------------------------------------------------------------------
Fri Feb 19 15:28:03 UTC 2016 - dimstar@opensuse.org
- Update to version 1.2.0:
+ Fix various issues (hangs mostly) in case of memory allocation
failure.
+ Change mark zeroing types of most shapers from BY_UNICODE_LATE
to BY_GDEF_LATE. This seems to be what Uniscribe does.
+ Change mark zeroing of USE shaper from NONE to BY_GDEF_EARLY.
That's what Windows does.
+ Allow GPOS cursive connection on marks, and fix the interaction
with mark attachment. This work resulted in some changes to how
mark attachments work (gh#behdad/harfbuzz#211).
+ Graphite2 shaper: improved negative advance handling
(eg. Nastaliq).
+ Add nmake-based build system for Windows.
+ Minor speedup.
+ Misc. improvements.
-------------------------------------------------------------------
Thu Jan 14 08:50:37 UTC 2016 - dimstar@opensuse.org
- Update to version 1.1.3:
+ Ported Indic shaper to Unicode 8.0 data.
+ Universal Shaping Engine fixes.
+ Speed up CoreText shaper when font fallback happens in
CoreText.
+ Documentation improvements, thanks to Khaled Hosny.
+ Very rough directwrite shaper for testing.
+ Misc bug fixes.
+ API extensions.
-------------------------------------------------------------------
Sun Nov 29 19:19:10 UTC 2015 - zaitor@opensuse.org
- Update to version 1.1.2:
+ Fix badly-broken fallback shaper that affected terminology.
+ Fix y_scaling in Graphite shaper.
+ API changes: An unset glyph_h_origin() function in font-funcs
now (sensibly) implies horizontal origin at 0,0. Ie, the nil
callback returns true instead of false. As such,
implementations that have a glyph_h_origin() that simply
returns true, can remove that function with HarfBuzz >= 1.1.2.
This results in a tiny speedup.
-------------------------------------------------------------------
Wed Nov 25 20:10:56 UTC 2015 - zaitor@opensuse.org
- Update to version 1.1.1:
+ Build fixes, specially for hb-coretext.
-------------------------------------------------------------------
Fri Nov 20 13:18:12 UTC 2015 - mimi.vx@gmail.com
- Update to version 1.1.0:
+ Implement 'stch' stretch feature for Syriac Abbreviation Mark.
+ Disable use of decompose_compatibility() callback.
+ Implement "shaping" of various Unicode space characters, even
if the font does not support them.
+ If font does not support U+2011 NO-BREAK HYPHEN, fallback to
U+2010 HYPHEN.
+ Changes resulting from libFuzzer continuous fuzzing:
- Reject font tables that need more than 8 edits.
- Bound buffer growth during shaping to 32x.
- Fix assertions and other issues at OOM / buffer max-growth.
+ Misc fixes and optimizations.
+ API changes: All fonts created with hb_font_create() now
inherit from (ie. have parent) hb_font_get_empty().
-------------------------------------------------------------------
Mon Oct 19 14:43:00 UTC 2015 - zaitor@opensuse.org
- Update to version 1.0.6:
+ Reduce max nesting level in OT lookups from 8 to 6.
+ Fix memory access issue in ot-font.
+ Revert default load-flags of fonts created using
hb_ft_font_create() back to FT_LOAD_DEFAULT|FT_LOAD_NO_HINTING.
This was changed in 1.0.5, but caused major issues, so revert.
- Changes from version 1.0.5:
+ Fix multiple memory access bugs discovered using libFuzzer.
+ Misc fixes.
+ New API:
- hb_font_set_parent().
- hb_ft_font_[sg]et_load_flags()
The default flags for fonts created using hb_ft_font_create()
has changed to default to FT_LOAD_DEFAULT now. Previously it
was defaulting to FT_LOAD_DFEAULT|FT_LOAD_NO_HINTING.
+ API changes:
- Fonts now default to units-per-EM as their scale, instead
of 0.
- hb_font_create_sub_font() does NOT make parent font immutable
anymore. hb_font_make_immutable() does.
-------------------------------------------------------------------
Fri Oct 9 19:02:19 UTC 2015 - zaitor@opensuse.org
- Update to version 1.0.4:
+ Fix minor out-of-bounds read error.
-------------------------------------------------------------------
Sun Sep 6 18:53:31 UTC 2015 - zaitor@opensuse.org
- Update to version 1.0.3:
+ Start of user documentation.
+ Implement glyph_extents() for TrueType fonts in hb-ot-font.
+ Improve GPOS cursive attachments with conflicting lookups.
+ More fixes for cluster-level = 1.
+ Uniscribe positioning fix.
- Changes from version 1.0.2:
+ Fix shaping with cluster-level > 0.
+ Fix Uniscribe backend font-size scaling.
+ Declare dependencies in harfbuzz.pc. FreeType is not declared
though, to avoid bugs in pkg-config 0.26 with recursive
dependencies.
+ Slightly improved debug infrastructure. More to come later.
+ Misc build fixes.
- Changes from version 1.0.1:
+ Fix out-of-bounds access in USE shaper.
- Changes from version 1.0.0:
+ Implement Universal Shaping Engine:
https://www.microsoft.com/typography/OpenTypeDev/USE/intro.htm
http://blogs.windows.com/bloggingwindows/2015/02/23/windows-shapes-the-worlds-languages/
+ Bump version to 1.0.0. The soname was NOT bumped.
-------------------------------------------------------------------
Wed Sep 2 13:00:41 UTC 2015 - mpluskal@suse.com
- Update to version 0.9.42:
+ New API to allow for retrieving finer-grained cluster
mappings if the client desires to handle them. Default behavior
is unchanged.
+ Fix cluster merging when removing default-ignorables.
+ Update to Unicode 8.0
+ hb-graphite2 fixes.
+ Misc fixes.
+ Removed HB_NO_MERGE_CLUSTERS hack.
+ New API:
- hb_buffer_cluster_level_t enum
- hb_buffer_get_cluster_level()
- hb_buffer_set_cluster_level()
- hb-shape / hb-view --cluster-level
- Changes from version 0.9.41:
+ Fix hb-coretext with trailing whitespace in right-to-left.
+ New API: hb_buffer_reverse_range().
+ Allow implementing atomic ops in config.h.
+ Fix hb_language_t in language bindings.
+ Misc fixes.
-------------------------------------------------------------------
Tue May 5 08:28:46 UTC 2015 - fstrba@suse.com
- Revert the introduction of harfbuzz-bootstrap: it did not help to
work around the cycle.
-------------------------------------------------------------------
Mon Apr 27 09:44:21 UTC 2015 - dimstar@opensuse.org
- Add this-is-only-for-build-envs requires to the -bootstrap
package: This ensures that OBS can use it, but the users will
not install it on their systems.
-------------------------------------------------------------------
Sun Apr 26 10:34:56 UTC 2015 - fstrba@suse.com
- Make harfbuzz-bootstrap package provide the libharfbuzz.so.0
* Makes the freshly built freetype2 installable
- Make harfbuzz-bootstrap-devel package provide the
pkgconfig(harfbuzz)
* Makes the freshly built freetype2-devel installable
-------------------------------------------------------------------
Wed Apr 15 15:44:47 UTC 2015 - fstrba@suse.com
- Make harfbuzz-bootstrap-devel conflict with harfbuzz-devel
-------------------------------------------------------------------
Tue Apr 14 12:12:44 UTC 2015 - fstrba@suse.com
- Try to completely disable the provides for harfbuzz-bootstrap
-------------------------------------------------------------------
Fri Apr 10 08:13:58 UTC 2015 - fstrba@suse.com
- Split a minimal harfbuzz-bootstrap package in order to avoid
possible build cycles between freetype2 and harfbuzz.
- Add harfbuzz-bootstrap-rpmlintrc file to avoid errors on this
bootstrap package (to be used only for freetype2 build)
- Add pre_checkin.sh script to sync the harfbuzz.spec and
harfbuzz-bootstrap.spec as well as the harfbuzz.changes and
harfbuzz-bootstrap.changes automatically.
-------------------------------------------------------------------
Sat Mar 21 23:16:34 UTC 2015 - zaitor@opensuse.org
- Update to version 0.9.40:
+ Another hb-coretext crasher fix.
-------------------------------------------------------------------
Fri Mar 6 08:41:16 UTC 2015 - mpluskal@suse.com
- Update to version 0.9.39:
+ Critical hb-coretext fixes.
+ Optimizations and refactoring; no functional change expected.
+ Misc build fixes.
-------------------------------------------------------------------
Sun Jan 25 08:33:49 UTC 2015 - vuntz@opensuse.org
- Update to version 0.9.38:
+ Fix minor out-of-bounds access in Indic shaper.
+ Change New Tai Lue shaping engine from South-East Asian to
default, reflecting change in Unicode encoding model.
+ Add hb-shape --font-size. Can take up to two numbers for
separate x / y size.
+ Fix CoreText and FreeType scale issues with negative scales.
+ Reject blobs larger than 2GB. This might break some icu-le-hb
clients that need security fixes. See:
http://www.icu-project.org/trac/ticket/11450
+ Avoid accessing font tables during face destruction, in case
rogue clients released face data already.
+ Fix up gobject-introspection a bit.
+ Misc fixes.
+ API additions:
hb_ft_face_create_referenced()
hb_ft_font_create_referenced()
- Changes from version 0.9.37:
+ Fix out-of-bounds access in Context lookup format 3.
+ Indic: Allow ZWJ/ZWNJ before syllable modifiers.
-------------------------------------------------------------------
Sat Nov 22 12:01:10 UTC 2014 - zaitor@opensuse.org
- Update to version 0.9.36:
+ Fix performance bug in hb_ot_collect_glyphs() (moz#1090869).
+ Add basic vertical-text support to hb-ot-font.
+ Misc build fixes.
-------------------------------------------------------------------
Thu Aug 21 01:54:01 UTC 2014 - hrvoje.senjan@gmail.com
- Update to version 0.9.35:
+ Fix major shape-plan caching bug when more than one shaper
were provided to hb_shape_full() (as exercised by XeTeX).
+ Fix Arabic fallback shaping regression.
+ Major hb-coretext fixes. That backend is complete now,
including respecing buffer direction and language, down to
vertical writing.
+ Build fixes for Windows CE.
+ Misc fixes:
- Use atexit() only if it's safe to call from shared library.
fdo#82246
- Mandaic had errors in its Unicode Joining_Type.
fdo#82306
+ API changes:
- hb_buffer_clear_contents() does not reset buffer flags now.
- Changes from version 0.9.34:
+ hb_feature_from_string() now accepts CSS
font-feature-settings format.
+ As a result, hb-shape / hb-view --features also accept
CSS-style strings. Eg, "'liga' off" is accepted now.
+ Add old-spec Myanmar shaper: fdo#81775
+ Don't apply 'calt' in Hangul shaper.
+ Fix mark advance zeroing for Hebrew shaper: fdo#76767
+ Implement Windows-1256 custom Arabic shaping.
Only built on Windows, and requires help from get_glyph().
+ Disable 'liga' in vertical text.
+ Build fixes.
+ API changes:
- Make HB_BUFFER_FLAG_BOT/EOT easier to use.
- Changes from version 0.9.33:
+ Turn off ARabic 'cswh' feature that was accidentally turned on.
+ Add HB_TAG_MAX_SIGNED.
+ Make hb_face_make_immutable() really make face immutable!
+ Windows build fixes.
- Changes from version 0.9.32:
+ Apply Arabic shaping features in spec order exactly.
+ Another fix for Mongolian free variation selectors.
+ For non-Arabic scripts in Arabic shaper apply 'rlig' and 'calt'
together.
+ Minor adjustment to U+FFFD logic.
+ Fix hb-coretext build.
- Changes from version 0.9.31:
+ Only accept valid UTF-8/16/32; we missed many cases before.
+ Better shaping of invalid UTF-8/16/32. Falls back to U+FFFD
REPLACEMENT CHARACTER now.
+ With all changes in this release, the buffer will contain fully
valid Unicode after hb_buffer_add_utf8/16/32 no matter how
broken the input is.
+ Fix Mongolian Variation Selectors for fonts without GDEF.
+ Fix minor invalid buffer access.
+ Accept zh-Hant and zh-Hans language tags.
hb_ot_tag_to_language() now uses these instead of private tags.
+ Build fixes.
+ New API:
- hb_buffer_add_codepoints(). This does what
hb_buffer_add_utf32() used to do, ie. no validity check on
the input at all. add_utf32 now replaces invalid Unicode
codepoints with the replacement character.
- hb_buffer_set_replacement_codepoint()
- hb_buffer_get_replacement_codepoint()
Previously, in hb_buffer_add_utf8 and hb_buffer_add_utf16,
when we detected broken input, we replaced that with
(hb_codepoint_t)-1. This has changed to use U+FFFD now, but
can be changed using these new API.
-------------------------------------------------------------------
Fri Jul 11 17:42:59 UTC 2014 - dimstar@opensuse.org
- Update to version 0.9.30:
+ Update to Unicode 7.0.0:
- New scripts Manichaean and Psalter Pahlavi are shaped using
Arabic shaper.
- All the other new scripts to through the generic shaper for
now.
+ Minor Indic improvements.
+ Fix graphite2 backend cluster mapping.
+ API changes:
- New HB_SCRIPT_* values for Unicode 7.0 scripts.
- New function hb_ot_layout_language_get_required_feature().
+ Build fixes.
-------------------------------------------------------------------
Tue Jul 1 19:34:56 UTC 2014 - dimstar@opensuse.org
- Update to version 0.9.29:
+ Implement cmap in hb-ot-font.h. No variation-selectors yet.
+ Myanmar: Allow MedialYa+Asat.
+ Various Indic fixes:
- Support most characters in Extended Devanagary and Vedic
Unicode blocks.
- Allow digits and a some punctuation as consonant
placeholders.
+ Build fixes.
-------------------------------------------------------------------
Mon May 5 17:13:17 UTC 2014 - zaitor@opensuse.org
- Update to version 0.9.28:
+ Unbreak old-spec Indic shaping (fdo#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.
-------------------------------------------------------------------
Thu Mar 27 03:17:39 UTC 2014 - mgorse@suse.com
- Update to version 0.9.27:
+ 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.
+ 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.
-------------------------------------------------------------------
Tue Feb 11 22:42:42 UTC 2014 - dimstar@opensuse.org
- Update to version 0.9.26:
+ Misc fixes.
+ Fix application of 'rtlm' feature.
+ Automatically apply frac/numr/dnom around U+2044 FRACTION
SLASH.
+ Uniscribe: fix scratch-buffer accounting.
+ Reorder Tai Tham SAKOT to after tone-marks.
+ Add Hangul shaper.
+ Disable 'cswh' feature in Arabic shaper.
+ Coretext: better handle surrogate pairs.
+ Add HB_TAG_MAX and _HB_SCRIPT_MAX_VALUE.
-------------------------------------------------------------------
Wed Dec 11 13:05:49 UTC 2013 - pgajdos@suse.com
- Update to version 0.9.25:
+ Myanmar shaper improvements.
+ Avoid font fallback in CoreText backend.
+ Additional OpenType language tag mappiongs.
+ More aggressive shape-plan caching.
- Changes from version 0.9.24:
+ Misc compiler warning fixes with clang.
+ No functional changes.
-------------------------------------------------------------------
Wed Nov 6 21:54:05 UTC 2013 - dimstar@opensuse.org
- Update to version 0.9.23:
+ Fix (Chain)Context recursion with non-monotone lookup
positions.
+ Misc Indic bug fixes.
+ New Javanese / Buginese shaping, similar to Windows 8.1.
- Drop harfbuzz-fix-non-return-in-nonvoid.patch: fixed upstream.
-------------------------------------------------------------------
Sun Oct 20 16:16:57 UTC 2013 - zaitor@opensuse.org
- Update to version 0.9.22:
+ 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().
- Add harfbuzz-fix-non-return-in-nonvoid.patch, fix a missing
return. Patch taken from upstream git.
-------------------------------------------------------------------
Tue Sep 17 20:46:36 UTC 2013 - dimstar@opensuse.org
- Update to version 0.9.21:
+ 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 change: Add HB_SET_VALUE_INVALID.
-------------------------------------------------------------------
Mon Sep 2 07:13:18 UTC 2013 - dimstar@opensuse.org
- Update to version 0.9.20:
+ Misc substitute_closure() fixes.
+ Build fixes.
+ 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.
+ 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
+ Updated documentations.
- Add missing post/postun scripts to -n libharfbuzz-icu0.
-------------------------------------------------------------------
Wed Jul 17 06:58:43 UTC 2013 - dimstar@opensuse.org
- Update to version 0.9.19:
+ Build fixes.
+ Better handling of multiple variation selectors in a row.
+ Pass on variation selector to GSUB if not consumed by cmap.
+ Fix undefined memory access.
+ Add Javanese config to Indic shaper.
+ Misc bug fixes.
-------------------------------------------------------------------
Wed May 29 06:21:15 UTC 2013 - dimstar@opensuse.org
- Update to version 0.9.18:
+ All unneeded code is 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.
+ icu and graphite2 are default off, can be enabled with their
--with options.
- Split out new library package, libharfbuzz-icu0.
- Pass parameters --with-glib, --with-freetype, --with-cairo,
--with-icu and --with-graphite2 to configure, as advised by
upstream.
- Enable pkgconfig(graphite2) BuildRequires, as the depdency is now
available in openSUSE.
-------------------------------------------------------------------
Wed May 22 12:19:17 UTC 2013 - dimstar@opensuse.org
- Update to version 0.9.17:
+ Build fixes.
+ Fix bug in hb_set_get_min().
+ Fix regression with Arabic mark positioning / width-zeroing.
-------------------------------------------------------------------
Sat Apr 20 23:24:21 UTC 2013 - dimstar@opensuse.org
- Update to version 0.9.16:
+ 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.
-------------------------------------------------------------------
Sat Apr 6 15:21:14 UTC 2013 - dimstar@opensuse.org
- Update to version 0.9.15:
+ Build fixes.
+ Fix crasher in graphite2 shaper.
+ Fix Arabic mark width zeroing regression.
+ Don't compose Hangul jamo into Unicode syllables.
-------------------------------------------------------------------
Fri Mar 22 13:30:55 UTC 2013 - dimstar@opensuse.org
- Update to version 0.9.14:
+ 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.
-------------------------------------------------------------------
Thu Mar 14 21:56:26 UTC 2013 - dimstar@opensuse.org
- Update to version 0.9.13:
+ 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)
when 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.
-------------------------------------------------------------------
Tue Feb 5 21:58:28 UTC 2013 - p.drouand@gmail.com
- Update to version 0.9.12:
+ Build fixes for Sun compiler.
+ Minor bug fix.
-------------------------------------------------------------------
Mon Jan 14 21:19:08 UTC 2013 - zaitor@opensuse.org
- Update to version 0.9.11:
+ 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().
-------------------------------------------------------------------
Tue Jan 8 16:23:57 UTC 2013 - dimstar@opensuse.org
- Update to version 0.9.10:
+ [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.
-------------------------------------------------------------------
Mon Dec 10 08:10:45 UTC 2012 - dimstar@opensuse.org
- Update to version 0.9.9:
+ Fix build on Windows.
+ Minor improvements.
-------------------------------------------------------------------
Wed Dec 5 16:36:41 UTC 2012 - dimstar@opensuse.org
- Update to version 0.9.8:
+ Some API additions (see NEWS for details).
+ Actually implement hb_shape_plan_get_shaper ().
+ Make UCDB data tables const.
+ Lots of internal refactoring in OTLayout tables.
+ Flesh out hb_ot_layout_lookup_collect_glyphs().
- Drop harfbuzz-missing-return.patch: fixed upstream.
-------------------------------------------------------------------
Tue Dec 4 14:11:18 UTC 2012 - vuntz@opensuse.org
- Update to version 0.9.7:
+ Some API additions and changes (see NEWS for details).
+ Fix Arabic contextual joining using pre-context text.
+ Fix Sinhala "split matra" mess.
+ Fix Khmer shaping with broken fonts.
+ Implement Thai "PUA" shaping for old fonts.
+ Do NOT route Kharoshthi script through the Indic shaper.
+ Disable fallback positioning for Indic and Thai shapers.
+ Misc fixes.
+ hb-shape / hb-view changes:
- Add --text-before and --text-after
- Add --bot / --eot / --preserve-default-ignorables
- hb-shape --output-format=json
- Add harfbuzz-missing-return.patch: fix missing return value.
-------------------------------------------------------------------
Wed Nov 14 14:11:21 UTC 2012 - dimstar@opensuse.org
- Update to version 0.9.6:
+ Don't clear pre-context text if no new context is provided.
+ Fix ReverseChainingSubstLookup, which was totally borked.
+ Adjust output format of hb-shape a bit.
+ Include config.h.in in-tree. Makes it easier for alternate
build systems.
+ Fix hb_buffer_set_length(buffer, 0) invalid memory allocation.
+ Use ICU LayoutEngine's C API instead of C++. Avoids much
headache.
+ Drop glyphs for all of Unicode Default_Ignorable characters.
+ Misc build fixes.
+ Arabic shaper:
- Enable 'dlig' and 'mset' features in Arabic shaper.
- Implement 'Phags-pa shaping, improve Mongolian.
+ Inidic shaper:
- Decompose Sinhala split matras the way old HarfBuzz / Pango
did.
- Initial support for Consonant Medials.
- Start adding new-style Myanmar shaping.
- Make reph and 'pref' logic introspect the font.
- Route Meetei-Mayek through the Indic shaper.
- Don't apply 'liga' in Indic shaper.
- Improve Malayalam pre-base reordering Ra interaction with
Chillus.
-------------------------------------------------------------------
Mon Oct 15 20:18:25 UTC 2012 - dimstar@opensuse.org
- Update to version 0.9.5:
+ 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.
+ API extensions.
-------------------------------------------------------------------
Thu Sep 13 12:01:23 UTC 2012 - dimstar@opensuse.org
- Update to version 0.9.4:
+ Indic improvements with old-spec Malayalam.
+ Better fallback glyph positioning, specially with Thai / Lao
marks.
+ Implement dotted-circle insertion.
+ Better Arabic fallback shaping / ligation.
+ Added ICU LayoutEngine backend for testing.
+ Misc fixes.
- Add pkgconfig(icu-le) BuildRequires: needed for the new ICU
LayoutEngine backend.
-------------------------------------------------------------------
Tue Aug 21 15:43:57 UTC 2012 - vuntz@opensuse.org
- Initial package (version 0.9.3).