7.1 KiB
7.1 KiB
Change Log
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.
Unreleased
0.14.1 - 2024-06-12
Fixed
no_stdbuild. Thanks to @jackpot51
0.14.0 - 2024-05-10
Changed
- Bump
ttf-parser. - Bump Rust Edition to 2021.
0.13.0 - 2024-02-18
- Sync with HarfBuzz 4.1.0. Thanks to @LaurenzV.
0.12.1 - 2023-12-16
Added
- Derive
HashforFeature. Thanks to @laurmaedje. ShapePlanisSendandSyncnow. Thanks to @laurmaedje.
0.12.0 - 2023-11-29
Added
- Sync with HarfBuzz 2.9.1. Thanks to @bluebear94.
UnicodeBuffer::set_pre_contextandUnicodeBuffer::set_post_context. Thanks to @bluebear94.shape_with_planfunction to allow cachedShapePlans. Thanks to @vorporeal.
0.11.0 - 2023-10-15
Added
- Sync with HarfBuzz 2.9.0. Thanks to @bluebear94.
0.10.0 - 2023-09-10
Added
- Sync with HarfBuzz 2.8.0.
0.9.0 - 2023-09-09
Added
- Sync with HarfBuzz 2.7.4. Thanks to @bluebear94.
- State machines are autogenerated via
ragelinstead of manually translating them from C now. Thanks to @notgull.
Changed
- Use
unicode-propertiescrate instead ofunicode-general-category. Should significantly reduce compilation times. Thanks to @eddyb.
Fixed
- Panic in the Universal shaper. Thanks to @notgull.
0.8.0 - 2023-06-12
Changed
- Bump
ttf-parser.
0.7.0 - 2023-02-04
Added
UnicodeBuffer::addthanks to @bluebear94.
Changed
- Bump
ttf-parser. Face::from_faceno longer returnsOption.
0.6.0 - 2022-10-24
Added
ttf-parseris reexported now.
Changed
- Bump
ttf-parser.
0.5.3 - 2022-10-24
Changed
- Revert 0.5.2 because it was a breaking change.
0.5.2 - 2022-10-22
Added
ttf-parseris reexported now.
Changed
- Bump
ttf-parser.
0.5.1 - 2022-06-11
Added
- Implement
PartialOrd,OrdandHashforScript.
Fixed
no_stdsupport thanks to @CryZe.
0.5.0 - 2022-02-20
Changed
GSUB,GPOS,ankr,feat,kern,kerx,morxandtraktables parsing was moved tottf-parser.rustybuzzno longer do any TrueType parsing. Everything is handled byttf-parser.
Fixed
- Multiple issues in AAT Lookup Table parsing.
0.4.0 - 2021-06-27
Added
Face::from_face, so you can createrustybuzz::Facedirectly fromttf_parser::Face. Thanks to @lain-donono_stdsupport thanks to @CryZe.GlyphInfo::unsafe_to_breakthanks to @glowcoil.
Changed
- Sync with harfbuzz 2.7.1
- Rename
GlyphInfo.codepointintoGlyphInfo.glyph_idto remove confusion.
0.3.0 - 2020-12-05
Ported
- Everything! 🎉
- Tables:
GSUB,GPOS,GDEF,ankr,feat,kern,kerx,morx,trak. - Main shaping logic.
hb_shape_plan_tandhb_ot_shape_plan_thb_ot_map_thb_ot_complex_shaper_t- OpenType layout (GSUB, GPOS).
- AAT layout.
- Normalization.
- Fallback shaper.
- Kerning.
Changed
- Rename
FonttoFace.
Most of the changes in this release were made by laurmaedje.
0.2.0 - 2020-07-25
Ported
- All complex shapers.
- Tables:
CBDT,CFF,CFF2,HVAR,MVAR,OS/2,SVG,VORG,VVAR,avar,cmap,fvar,glyf,gvar,hhea,hmtx,post,sbix,vhea,vmtx. hb_buffer_thb_script_thb_feature_thb_variation_thb_language_thb_font_thb-ot-metrics- Unicode functions and tables.
- Buffer serialization.
Changed
- Update to HarfBuzz 2.7.0
- Rename
Font::from_dataintoFont::from_slice. - Font is parsed via
ttf-parserfirst. And if the parsing fails, theFontwill not be created.harfbuzzallows malformed fonts.
Removed
hb_font_funcs_t. Only the embedded TrueType implementation is used.hb_unicode_funcs_t. Only the embedded Unicode implementation is used.Font::set_scale/hb_font_set_scale/--font-size. Shaping is always in font units now. This simplifies the code quite a lot.- Shaping plan caching.
- Fallback shaper.
- Unused
hdmxtable.
0.1.1 - 2020-07-04
Fixed
- Compilation with an old XCode.
0.1.0 - 2020-07-04
At this point, this is just a simple Rust bindings to a stripped down harfbuzz.
Added
- An absolute minimum Rust API.
- harfbuzz's shaping test suite had been ported to Rust.
Changed
- harfbuzz source code was reformatted using clang-format.
Removed
- Subsetting. This is probably a bit controversial, but I want to port only the shaper for now. This is also removes around 7000 LOC.
- Arabic fallback shaper. Since it requires subsetting.
- Unused TrueType tables: BASE, COLR, CPAL, JSTF, MATH, STAT, bsln, fdsc, gasp, just, lcar, ltag, meta, name, opbd.
- All external dependencies: coretext, directwrite, freetype, gdi, glib, gobject, graphite, icu, uniscribe. Embedded harfbuzz relies only on internal TrueType implementation.
- Most of the non-shaping harfbuzz API.