1 /****************************************************************************
2  *
3  * ftwinfnt.c
4  *
5  *   FreeType API for accessing Windows FNT specific info (body).
6  *
7  * Copyright (C) 2003-2020 by
8  * David Turner, Robert Wilhelm, and Werner Lemberg.
9  *
10  * This file is part of the FreeType project, and may only be used,
11  * modified, and distributed under the terms of the FreeType project
12  * license, LICENSE.TXT.  By continuing to use, modify, or distribute
13  * this file you indicate that you have read the license and
14  * understand and accept it fully.
15  *
16  */
17 
18 
19 #include <freetype/internal/ftdebug.h>
20 #include <freetype/ftwinfnt.h>
21 #include <freetype/internal/ftobjs.h>
22 #include <freetype/internal/services/svwinfnt.h>
23 
24 
25   /* documentation is in ftwinfnt.h */
26 
27   FT_EXPORT_DEF( FT_Error )
FT_Get_WinFNT_Header(FT_Face face,FT_WinFNT_HeaderRec * header)28   FT_Get_WinFNT_Header( FT_Face               face,
29                         FT_WinFNT_HeaderRec  *header )
30   {
31     FT_Service_WinFnt  service;
32     FT_Error           error;
33 
34 
35     if ( !face )
36       return FT_THROW( Invalid_Face_Handle );
37 
38     if ( !header )
39       return FT_THROW( Invalid_Argument );
40 
41     FT_FACE_LOOKUP_SERVICE( face, service, WINFNT );
42 
43     if ( service )
44       error = service->get_header( face, header );
45     else
46       error = FT_THROW( Invalid_Argument );
47 
48     return error;
49   }
50 
51 
52 /* END */
53