Skip to content

Commit

Permalink
Allsorts 0.15.0
Browse files Browse the repository at this point in the history
  • Loading branch information
wezm committed Jun 6, 2024
1 parent 0485d9a commit 7e77c6b
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 5 deletions.
34 changes: 33 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,39 @@ format is based on [Keep a Changelog], and this project aims to follow

## [Unreleased]

## [0.15.0] - 2024-06-06

### Added

- Support for instancing variable fonts and reading variable font
related tables such as `fvar`, `gvar`, `avar`.
- Support for CFF2: Reading, instancing, subsetting to CFF, and extracting
outlines.
- Refactor Glyph types to be more compact and track phantom points.
- Ability to generate a HTML font specimen. Gated behind off-by-default
`specimen` feature.

### Changed

- Use default feature mask when shaping Thai and Lao text.
- `pathfinder_geometry` is no longer optional as it's used for variable fonts.
- Apply `rvrn` early in shaping.
- Use bitflags for `macStyle` and `fsSelection`.
- Introduce `RawGlyphFlags` for tracking glyph flags.
- Add `ParseError::UnsuitableCmap` and change `Font::new` to return
`Result<Font, _>` instead of `Result<Option<Font>, _>`.

### Fixed

- Fix registry and ordering when converting CFF Type 1 to CID.
- Recognise Apple's `true` magic for TrueType fonts.

## [0.14.2] - 2024-05-29

### Fixed

- Fix issue where some mark-to-mark positioning was incorrect.
[#107](https://github.com/yeslogic/allsorts/issues/107)

## [0.14.1] - 2023-08-15

Expand Down Expand Up @@ -236,7 +266,9 @@ format is based on [Keep a Changelog], and this project aims to follow

- Initial release

[Unreleased]: https://github.com/yeslogic/allsorts/compare/v0.14.1...HEAD
[Unreleased]: https://github.com/yeslogic/allsorts/compare/v0.15.0...HEAD
[0.15.0]: https://github.com/yeslogic/allsorts/compare/v0.14.2...v0.15.0
[0.14.2]: https://github.com/yeslogic/allsorts/compare/v0.14.1...v0.14.2
[0.14.1]: https://github.com/yeslogic/allsorts/compare/v0.14.0...v0.14.1
[0.14.0]: https://github.com/yeslogic/allsorts/compare/v0.13.0...v0.14.0
[0.13.0]: https://github.com/yeslogic/allsorts/compare/v0.12.1...v0.13.0
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "allsorts"
version = "0.14.1"
version = "0.15.0"
authors = ["YesLogic Pty. Ltd. <[email protected]>"]
edition = "2018"

Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,13 @@ which aims to specify OpenType font shaping behaviour.

## Features

* **Parse** TrueType (`ttf`), OpenType (`otf`), WOFF, and WOFF2 files.
* **Parse** TrueType/OpenType (`glyf`, `CFF`, `CFF2`), WOFF, and WOFF2 files.
* **Shape** Arabic, Cyrillic, Greek, Hebrew, [Indic
scripts](https://en.wikipedia.org/wiki/Languages_of_India) (Bengali,
Devanagari, Gujarati, Gurmukhi, Kannada, Malayalam, Oriya, Sinhala, Tamil,
Telugu), Khmer, Lao, Latin, Syriac, Thai, and other scripts.
* **Subset** from TrueType, OpenType, WOFF, and WOFF2 files into OpenType.
* **Instance** variable fonts into non-variable fonts.

## What is font shaping?

Expand Down Expand Up @@ -79,8 +80,8 @@ Known limitations:
## Development Status

Allsorts is still under active development but reached its first release
milestone with its inclusion in Prince 13. In Prince it is responsible for
all font loading, and font shaping.
milestone with its inclusion in Prince 13 in 2019. In Prince it is responsible
for all font loading, and font shaping.

Currently, the font parsing code is handwritten. It is planned for this to
eventually be replaced by machine generated code via our [declarative data
Expand Down

0 comments on commit 7e77c6b

Please sign in to comment.