freetype2/src/sfnt
Ben Wagner e78e2d29a9 [sfnt, truetype] Add `size_reset` to `MetricsVariations`.
This is a generalization of commit

```
commit e6699596af
Author: Werner Lemberg <wl@gnu.org>
Date:   Thu Feb 2 11:38:04 2017 +0100

    [truetype] Fix MVAR post-action handling.
```

It is also possible for plain `CFF ` style fonts to contain an `fvar` and
`MVAR` table and use `cff_metrics_adjust`.  `tt_size_reset` should only be
called with `TT_Size` and never with `CFF_Size`.

Allow the "metrics-variations" service to specify the correct function (if
any) to reset `FT_Size`s after adjusting metrics.

* src/truetype/ttobjs.c (tt_size_reset): Split off some functionality
into...
(tt_size_reset_height): ... this new function.

* src/truetype/ttdriver.c (tt_service_metrics_variations): Add
`size_reset`.
(tt_size_select, tt_size_request): Updated.

* src/truetype/ttobjs.h: Updated.

* include/freetype/internal/services/svmetric.h (MetricsVariations): Add
`size_reset`.
(FT_DEFINE_SERVICE_METRICSVARIATIONSREC): Updated.

* include/freetype/internal/tttypes.h (TT_FaceRec_): Rename `var` to
`tt_var` and add `face_var`.

* src/cff/cffdrivr.c (cff_service_metrics_variations): Add `size_reset`.
(cff_hadvance_adjust, cff_metrics_adjust): Updated.

* src/cff/cffobjs.c (cff_face_init): Use `face_var`.

* src/sfnt/sfobjs.c (sfnt_init_face): Initialize `face_var`.

* src/sfnt/ttmtx.c (tt_face_get_metrics): Use `tt_var`.

* src/truetype/ttgxvar.c (tt_size_reset_iterator): Renamed to...
(ft_size_reset_iterator): ... this new function.
Call `size_reset`.
(tt_apply_mvar): Pass `size_reset` to `ft_size_reset_iterator`.

Fixes #1211
2023-04-11 10:20:58 +02:00
..
module.mk Update all copyright notices. 2023-01-17 09:18:25 +01:00
pngshim.c * src/*: Replace leading underscores with trailing ones in dummy variables. 2023-02-26 20:18:54 +01:00
pngshim.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
rules.mk Update all copyright notices. 2023-01-17 09:18:25 +01:00
sfdriver.c Fix 'fall-through' warning messages. 2023-02-08 21:09:32 +01:00
sfdriver.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
sferrors.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
sfnt.c Update all copyright notices. 2023-01-17 09:18:25 +01:00
sfobjs.c [sfnt, truetype] Add `size_reset` to `MetricsVariations`. 2023-04-11 10:20:58 +02:00
sfobjs.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
sfwoff.c * src/*: Replace leading underscores with trailing ones in dummy variables. 2023-02-26 20:18:54 +01:00
sfwoff.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
sfwoff2.c * src/*: Replace leading underscores with trailing ones in dummy variables. 2023-02-26 20:18:54 +01:00
sfwoff2.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttbdf.c * src/*: Replace leading underscores with trailing ones in dummy variables. 2023-02-26 20:18:54 +01:00
ttbdf.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttcmap.c Align `char_next` return types. 2023-04-10 15:30:43 +00:00
ttcmap.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttcmapc.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttcolr.c Fix a couple of MSVC warnings. 2023-03-05 22:05:24 -05:00
ttcolr.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttcpal.c * src/*: Replace leading underscores with trailing ones in dummy variables. 2023-02-26 20:18:54 +01:00
ttcpal.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttkern.c Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttkern.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttload.c Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttload.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttmtx.c [sfnt, truetype] Add `size_reset` to `MetricsVariations`. 2023-04-11 10:20:58 +02:00
ttmtx.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttpost.c * src/sfnt/ttpost.c (load_format_25): Do not abort frame reading. 2023-04-02 22:45:48 -04:00
ttpost.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttsbit.c * src/*: Replace leading underscores with trailing ones in dummy variables. 2023-02-26 20:18:54 +01:00
ttsbit.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
ttsvg.c * src/*: Replace leading underscores with trailing ones in dummy variables. 2023-02-26 20:18:54 +01:00
ttsvg.h Update all copyright notices. 2023-01-17 09:18:25 +01:00
woff2tags.c * src/*: Replace leading underscores with trailing ones in dummy variables. 2023-02-26 20:18:54 +01:00
woff2tags.h Update all copyright notices. 2023-01-17 09:18:25 +01:00