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.
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::empty
constructor as a simple way to construct the empty faceFeature
struct that wrapshb_feature_t
and has an easy to use constructorUnicodeBuffer::add_str_item
to allow providing context to the string being shaped.UnicodeBuffer::preallocate
- Reexport of
harfbuzz_sys
ashb
to 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
Blob
from a mutable slice Font::empty
as 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 oldSetRustTypeFuncs
trait is deprecated)
- lifetime of slice returned by
Blob::get_data
(could cause UB)
- The rustup feature is no longer enabled by default
SetRustTypeFuncs
is now deprecated in favor ofcreate_harfbuzz_rusttype_font
- Internal representation of smart pointers (possibly more safe now)
- Many improvementes to documentation
Font::parent
now returns an optionHarfbuzzObject
becomes 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_bytes
function forFace
Font::set_funcs
adds necessarySend
andSync
bounds- UnicodeBuffer and GlyphBuffer no longer implement Clone (as they are mutable)
- Naming:
HbArc
toShared
andHbBox
toOwned
- internal representation of
Shared
andOwned
Shared::into_raw
andOwned::into_raw
into static methods- Various improvements to documentation
shape
becomes a free standing function (it was a method onUnicodeBuffer
)
Initial Release