All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add basic support for font variations (see PR #32)
- Improve documentation around font variations and font funcs.
- Breaking Remove reexport of harfbuzz-sys (this was a bad idea, since we inherit any breaking changes made in harfuzz-sys automatically)
- Update harfbuzz-sys to 0.5
- Update rusttype to 0.9
- Improve README
- Cargo test no longer may fail spuriously because of harfbuzz-internal serialization format not being consistent
- Since harfbuzz-sys 0.5.0 made breaking changes (see issue #27) we do not support it for now. If you need the newest harfbuzz-sys please make a comment on the issue. The current plan is to push a new major release of harfbuzz_rs 2.0.0.
- Reexport cargo features from
harfbuzz-sys(thanks zenixls2) - Add new API to append
UnicodeBuffers to existing buffers - Add new API
with_bytes_ownedforBlobto allow creating blobs fromArc<Vec<u8>>and the like
- Off-by-one error in cluster ranges for features
- The project now builds again with rusttype < 0.9
This release does not build.
- Updated dependencies (
harfbuzz-sysand the optional dep.rusttype)
- Builds on Android now #20
- Memory leak on face creation
- Memory leak on font creation #22
- BufferSerializer now correctly serializes a single glyph #23
This is the 1.0 release of harfbuzz_rs. There are still many API's left to be covered by this crate however I think the current API should be able to remain stable.
Face::emptyconstructor as a simple way to construct the empty faceFeaturestruct that wrapshb_feature_tand has an easy to use constructorUnicodeBuffer::add_str_itemto allow providing context to the string being shaped.UnicodeBuffer::preallocate- Reexport of
harfbuzz_sysashbto facilitate use of unwrapped functions
- removed kerning callbacks from FontFuncs (following the upstream harfbuzz change). This also enabled updating to harfbuzz-sys 0.3.
- updated to use Rust 2018
- Further improved docs
- constructor for
Blobfrom a mutable slice Font::emptyas a simple way to construct the empty font- support for serializing a
GlyphBuffer's contents create_harfbuzz_rusttype_font: a new way to create a font with Rusttype font funcs (the oldSetRustTypeFuncstrait is deprecated)
- lifetime of slice returned by
Blob::get_data(could cause UB)
- The rustup feature is no longer enabled by default
SetRustTypeFuncsis now deprecated in favor ofcreate_harfbuzz_rusttype_font- Internal representation of smart pointers (possibly more safe now)
- Many improvements to documentation
Font::parentnow returns an optionHarfbuzzObjectbecomes unsafe to implement
- Smart pointers to use
NonNull
- A new enum called TypedBuffer. It contains either a UnicodeBuffer or a GlyphBuffer. This makes reusing hb_buffer_t objects from foreign code possible.
- UnicodeBuffer methods to return its contents
from_bytesfunction forFace
Font::set_funcsadds necessarySendandSyncbounds- UnicodeBuffer and GlyphBuffer no longer implement Clone (as they are mutable)
- Naming:
HbArctoSharedandHbBoxtoOwned - internal representation of
SharedandOwned Shared::into_rawandOwned::into_rawinto static methods- Various improvements to documentation
shapebecomes a free standing function (it was a method onUnicodeBuffer)
Initial Release