@@ -16,6 +16,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
1616 Thanks to [ scadastrangelove] ( https://github.com/scadastrangelove ) .
1717- ` core::error::Error ` is implemented for ` FaceParsingError ` in ` no_std ` builds now.
1818 Thanks to [ iriswebb] ( https://github.com/iriswebb ) .
19+ - (` CFF ` ) ` cff::Table::parse_with_upem ` , which applies the font matrix using the face's
20+ units per em. ` cff::Table::parse ` keeps its original one-argument signature.
21+ Thanks to [ LaurenzV] ( https://github.com/LaurenzV ) .
1922- (` OS/2 ` ) ` os2::Table::panose ` , returning the ten raw PANOSE digits plus ` FamilyType `
2023 and ` is_bold ` /` is_italic ` /` is_monospaced ` . The digits are public because their meaning
2124 depends on the family type and PANOSE defines more values than this crate models.
@@ -46,9 +49,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
4649 This is a behavioural change and will not produce a compile error.
4750- (` head ` ) ` head::Table ` has a new public ` is_italic ` field, which breaks exhaustive
4851 struct destructuring of it.
52+ - (` COLR ` ) ` push_clip ` and ` pop_clip ` are called when painting v0 glyphs, matching v1.
53+ A ` Painter ` that relied on v0 never clipping will render differently.
54+ Thanks to [ valadaptive] ( https://github.com/valadaptive ) .
4955- Bump MSRV to 1.88 and move to edition 2024.
56+ - Test fonts and development tools are excluded from the published package, which is
57+ substantially smaller as a result.
58+ Thanks to [ weiznich] ( https://github.com/weiznich ) .
59+ - Dependencies are pinned to a minor version rather than an exact one.
60+ Thanks to [ alerque] ( https://github.com/alerque ) .
5061- Documented the ` Face::style ` fallback to ` Style::Normal ` when ` OS/2 ` is absent.
5162 Thanks to [ dereified] ( https://github.com/dereified ) .
63+ - Documented every field of ` RawFaceTables ` .
5264
5365### Fixed
5466- (` CFF ` ) Bound the total number of subroutine invocations per glyph.
@@ -109,6 +121,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
109121 reading. ` mapCount ` is a raw ` u32 ` and the index is scaled by the entry size.
110122- (` COLR ` ) Variation delta indices are added with overflow checking. A ` varIndexBase ` near
111123 ` u32::MAX ` aborted in debug and wrapped to an unrelated delta index in release.
124+ - (` CFF ` ) Glyph outlines are transformed by the font matrix. Fonts with a non-default
125+ ` FontMatrix ` were outlined at the wrong scale.
126+ Thanks to [ tbodt] ( https://github.com/tbodt ) .
112127- (` CFF2 ` ) Fonts without a ` vstore ` can outline glyphs. The Top DICT entry is optional per
113128 spec, but variation scalars were resolved at index 0 before the first operator ran, which
114129 fails on an absent store — so every glyph of a static CFF2 font returned ` None ` . Scalars are
@@ -230,11 +245,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
230245### Added
231246- ` COLR ` / ` CPAL ` v0 support.
232247 Thanks to [ laurmaedje] ( https://github.com/laurmaedje ) .
248+ - ` Face::is_color_glyph `
249+ - ` Face::color_palettes `
250+ - ` cpal::Table::palettes `
233251
234252### Changed
235253- ` svg::SvgDocumentsList ` returns ` svg::SvgDocument ` and not just ` &[u8] ` now.
236254 Thanks to [ wjian23] ( https://github.com/wjian23 ) .
237255- ` Face::set_variation ` allows duplicated axes now.
256+ - ` cpal::Color ` is called ` cpal::BgraColor ` now, and ` cpal::Table::get ` returns it.
238257
239258## [ 0.19.2] - 2023-09-13
240259### Added
@@ -262,6 +281,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
262281
263282## [ 0.18.0] - 2022-12-25
264283### Added
284+ - ` name::Name::language `
285+ - ` Language ` enum with all Windows languages.
286+
287+ ## [ 0.17.1] - 2022-10-15
288+ ### Added
265289- ` Face::permissions `
266290- ` Face::is_subsetting_allowed `
267291- ` Face::is_bitmap_embedding_allowed `
@@ -270,8 +294,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
270294- ` os2::Table::is_subsetting_allowed `
271295- ` os2::Table::is_bitmap_embedding_allowed `
272296- ` os2::Table::unicode_ranges `
273- - ` name::Name::language `
274- - ` Language ` enum with all Windows languages.
275297
276298### Changed
277299- Using a non-zero index in ` Face::parse ` for a regular font will return
@@ -285,7 +307,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
285307### Fixed
286308- (CFF) Fix large tables parsing.
287309
288- ## [ 0.16.0] - 2022-09-18
310+ ## [ 0.16.0] - 2022-09-28
289311### Added
290312- CFF Encoding support.
291313- ` cff::Table::glyph_index `
@@ -445,6 +467,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
445467## [ 0.8.3] - 2020-11-15
446468### Added
447469- ` Face::glyph_variation_delta `
470+ - The ` parser ` module is public now. Made private again in 0.15.0.
471+ - (C API) ` ttfp_glyph_variation_delta `
448472
449473### Fixed
450474- ` Iterator::nth ` implementation for ` cmap::Subtables ` and ` Names ` .
@@ -629,12 +653,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
629653### Removed
630654- `GDEF` table parsing.
631655
632- [Unreleased]: https://github.com/harfbuzz/ttf-parser/compare/v0.25.1...HEAD
656+ ## [0.1.0] - 2019-06-18
657+ ### Added
658+ - Initial release. Parsing of `cmap`, `glyf`, `head`, `hhea`, `hmtx`, `loca`, `maxp`, `name`,
659+ `OS/2`, `post`, `vhea` and `vmtx`, with `GDEF` and font-collection support.
660+
661+ [Unreleased]: https://github.com/harfbuzz/ttf-parser/compare/v0.26.0...HEAD
662+ [0.26.0]: https://github.com/harfbuzz/ttf-parser/compare/v0.25.1...v0.26.0
633663[0.25.1]: https://github.com/harfbuzz/ttf-parser/compare/v0.25.0...v0.25.1
634664[0.25.0]: https://github.com/harfbuzz/ttf-parser/compare/v0.24.1...v0.25.0
635665[0.24.1]: https://github.com/harfbuzz/ttf-parser/compare/v0.24.0...v0.24.1
636- [0.24.0]: https://github.com/harfbuzz/ttf-parser/compare/v0 .23.0...v0.24.0
637- [0.23.0]: https://github.com/harfbuzz/ttf-parser/compare/v0.22.0...v0 .23.0
666+ [0.24.0]: https://github.com/harfbuzz/ttf-parser/compare/0 .23.0...v0.24.0
667+ [0.23.0]: https://github.com/harfbuzz/ttf-parser/compare/v0.22.0...0 .23.0
638668[0.22.0]: https://github.com/harfbuzz/ttf-parser/compare/v0.21.1...v0.22.0
639669[0.21.1]: https://github.com/harfbuzz/ttf-parser/compare/v0.21.0...v0.21.1
640670[0.21.0]: https://github.com/harfbuzz/ttf-parser/compare/v0.20.0...v0.21.0
@@ -644,6 +674,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
644674[0.19.0]: https://github.com/harfbuzz/ttf-parser/compare/v0.18.1...v0.19.0
645675[0.18.1]: https://github.com/harfbuzz/ttf-parser/compare/v0.18.0...v0.18.1
646676[0.18.0]: https://github.com/harfbuzz/ttf-parser/compare/v0.17.0...v0.18.0
677+ [0.17.1]: https://github.com/harfbuzz/ttf-parser/compare/v0.17.0...v0.18.0
647678[0.17.0]: https://github.com/harfbuzz/ttf-parser/compare/v0.16.0...v0.17.0
648679[0.16.0]: https://github.com/harfbuzz/ttf-parser/compare/v0.15.2...v0.16.0
649680[0.15.2]: https://github.com/harfbuzz/ttf-parser/compare/v0.15.1...v0.15.2
@@ -677,3 +708,4 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
677708[0.2.2]: https://github.com/harfbuzz/ttf-parser/compare/v0.2.1...v0.2.2
678709[0.2.1]: https://github.com/harfbuzz/ttf-parser/compare/v0.2.0...v0.2.1
679710[0.2.0]: https://github.com/harfbuzz/ttf-parser/compare/v0.1.0...v0.2.0
711+ [0.1.0]: https://github.com/harfbuzz/ttf-parser/releases/tag/v0.1.0
0 commit comments