diff options
author | Werner Lemberg <wl@gnu.org> | 2023-04-26 08:17:17 +0200 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2023-04-28 10:44:14 +0200 |
commit | 545d0446b6625e8412f379304b0fc0a20741a8c1 (patch) | |
tree | bda43cfaae11f76d81009e22da09dd2bf8d6f1b9 /src/base/ftmm.c | |
parent | 17a0c5dfd5d94944f091c96145a5c96bba46de0a (diff) | |
download | freetype2-545d0446b6625e8412f379304b0fc0a20741a8c1.tar.gz |
New Variation Font function `FT_Get_Default_Named_Instance`.
* include/freetype/ftmm.h, src/base/ftmm.c (FT_Get_Default_Named_Instance):
New function.
* include/freetype/internal/services/svmm.h
(FT_Get_Default_Named_Instance_Func): New typedef.
(FT_Service_MultiMasters): New field `get_default_named_instance`.
(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
* include/freetype/internal/tttypes.h (TT_Face): New field
`var_default_named_instance`.
* src/sfnt/sfobjc.s (sfnt_init_face): Initialize
`var_default_named_instance`.
* src/cff/cffdrivr.c (cff_get_default_named_instance): New function.
(cff_service_multi_masters): Updated.
* src/truetype/ttgxvar.c (TT_Get_MM_Var): Initialize
`var_default_named_instance`.
(TT_Get_Default_Named_Instance): New function.
* src/truetype/ttgxvar.h: Updated.
* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated.
* src/type1/t1driver.c (t1_service_multi_masters): Updated.
* docs/CHANGES: Updated.
Diffstat (limited to 'src/base/ftmm.c')
-rw-r--r-- | src/base/ftmm.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/base/ftmm.c b/src/base/ftmm.c index a2b4bd03d..781db315e 100644 --- a/src/base/ftmm.c +++ b/src/base/ftmm.c @@ -565,4 +565,32 @@ } + /* documentation is in ftmm.h */ + + FT_EXPORT_DEF( FT_Error ) + FT_Get_Default_Named_Instance( FT_Face face, + FT_UInt *instance_index ) + { + FT_Error error; + + FT_Service_MultiMasters service_mm = NULL; + + + /* check of `face' delayed to `ft_face_get_mm_service' */ + + error = ft_face_get_mm_service( face, &service_mm ); + if ( !error ) + { + /* no error if `get_default_named_instance` is not available */ + if ( service_mm->get_default_named_instance ) + error = service_mm->get_default_named_instance( face, + instance_index ); + else + error = FT_Err_Ok; + } + + return error; + } + + /* END */ |