Skip to content

Commit e7ab928

Browse files
committed
docs: backfill the changelog against git history
Every version on crates.io now has an entry, and every entry has a matching link reference. - 0.17.1 was published but never tagged and had no section at all. Its content was sitting in 0.18.0; split on the commits between the tags. - 0.1.0 had no entry -- the file started at 0.2.0. - 0.20.0 was missing the cpal::Color -> cpal::BgraColor rename and the Face::is_color_glyph / color_palettes / cpal::Table::palettes additions. - 0.8.3 was missing the parser module going public, which is what 0.15.0's 'private now again' refers to, and ttfp_glyph_variation_delta. - 0.26.0 was missing the CFF font-matrix fix, parse_with_upem, the COLRv0 clip calls, package slimming and dependency relaxation. - 0.16.0 was dated 2022-09-18; crates.io says 2022-09-28. - The 0.23.0 tag has no 'v' prefix, so two compare links pointed at a tag that does not exist.
1 parent f36b336 commit e7ab928

1 file changed

Lines changed: 38 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)