(root)/
freetype-2.13.2/
src/
base/
ftwinfnt.c
       1  /****************************************************************************
       2   *
       3   * ftwinfnt.c
       4   *
       5   *   FreeType API for accessing Windows FNT specific info (body).
       6   *
       7   * Copyright (C) 2003-2023 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 )
      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 */