4.6 KiB
4.6 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.6.1 - 2020-07-02
Added
Name::is_unicode
Font::family_name
will load names with Windows Symbol encoding now.
Fixed
Font::glyph_bounding_box
will apply variation in case ofgvar
fonts.
0.6.1 - 2020-05-19
Fixed
- (
kern
) Support fonts that ignore the subtable size limit.
0.6.0 - 2020-05-18
Added
sbix
,CBLC
,CBDT
andSVG
tables support.Font::glyph_raster_image
andFont::glyph_svg_image
.Font::kerning_subtables
with subtable formats 0..3 support.
Changed
- (c-api) The library doesn't allocate
ttfp_font
anymore. All allocations should be handled by the caller from now.
Removed
Font::glyphs_kerning
. UseFont::kerning_subtables
instead.- (c-api)
ttfp_create_font
andttfp_destroy_font
. Usettfp_font_size_of
+ttfp_font_init
instead.ttfp_font *font = (ttfp_font*)alloca(ttfp_font_size_of()); ttfp_font_init(font_data, font_data_size, 0, font);
- Logging support. We haven't used it anyway.
Fixed
- (
gvar
) Integer overflow. - (
cmap
) Integer overflow during subtable format 2 parsing. - (
CFF
,CFF2
) DICT number parsing. Font::glyph_*_advance
will returnNone
when glyph ID is larger than the number of metrics in the table.- Ignore variation offset in
Font::glyph_*_advance
andFont::glyph_*_side_bearing
whenHVAR
/VVAR
tables are missing. Previously returnedNone
which is incorrect.
0.5.0 - 2020-03-19
Added
- Variable fonts support.
- C API.
gvar
,CFF2
,avar
,fvar
,HVAR
,VVAR
andMVAR
tables support.Font::variation_axes
Font::set_variation
Font::is_variable
Tag
type.
Fixed
- Multiple issues due to arithmetic overflow.
0.4.0 - 2020-02-24
A major rewrite.
Added
Font::glyph_bounding_box
Font::glyph_name
Font::has_glyph_classes
Font::glyph_class
Font::glyph_mark_attachment_class
Font::is_mark_glyph
Font::glyph_y_origin
Font::vertical_ascender
Font::vertical_descender
Font::vertical_height
Font::vertical_line_gap
- Optional
log
dependency.
Changed
Font::outline_glyph
now accepts&mut dyn OutlineBuilder
and not&mut impl OutlineBuilder
.Font::ascender
,Font::descender
andFont::line_gap
will checkUSE_TYPO_METRICS
flag in OS/2 table now.glyph_hor_metrics
was split intoglyph_hor_advance
andglyph_hor_side_bearing
.glyph_ver_metrics
was split intoglyph_ver_advance
andglyph_ver_side_bearing
.CFFError
is no longer public.
Removed
Error
enum. All methods will returnOption<T>
now.- All
unsafe
.
Fixed
glyph_hor_side_bearing
parsing when the number of metrics is less than the total number of glyphs.- Multiple CFF parsing fixes. The parser is more strict now.
0.3.0 - 2019-09-26
Added
no_std
compatibility.
Changed
- The library has one
unsafe
block now. - 35% faster
family_name()
method. - 25% faster
from_data()
method for TrueType fonts. - The
Name
struct has a new API. Public fields became public functions and data is parsed on demand and not beforehand.
0.2.2 - 2019-08-12
Fixed
- Allow format 12 subtables with Unicode full repertoire in
cmap
.
0.2.1 - 2019-08-12
Fixed
- Check that
cmap
subtable encoding is Unicode.
0.2.0 - 2019-07-10
Added
- CFF support.
- Basic kerning support.
- All
cmap
subtable formats except Mixed Coverage (8) are supported. - Vertical metrics querying from the
vmtx
table. - OpenType fonts are allowed now.
Changed
- A major rewrite. TrueType tables are no longer public.
- Use
GlyphId
instead ofu16
.
Removed
GDEF
table parsing.