1049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/ 2049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 3049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* ftmodapi.h */ 4049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 5049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* FreeType modules public interface (specification). */ 6049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 7aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich/* Copyright 1996-2001, 2002, 2003, 2006, 2008, 2009, 2010 by */ 8049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 10049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* This file is part of the FreeType project, and may only be used, */ 11049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* modified, and distributed under the terms of the FreeType project */ 12049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* this file you indicate that you have read the license and */ 14049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* understand and accept it fully. */ 15049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 16049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/ 17049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 18049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 19049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#ifndef __FTMODAPI_H__ 20049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define __FTMODAPI_H__ 21049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 22049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 23049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include <ft2build.h> 24049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include FT_FREETYPE_H 25049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 26049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#ifdef FREETYPE_H 27049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#error "freetype.h of FreeType 1 has been loaded!" 28049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#error "Please fix the directory search order for header files" 29049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#error "so that freetype.h of FreeType 2 is found first." 30049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#endif 31049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 32049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 33049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_BEGIN_HEADER 34049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 35049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 36049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 37049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 38049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Section> */ 39049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module_management */ 40049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 41049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Title> */ 42049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Module Management */ 43049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 44049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Abstract> */ 45049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* How to add, upgrade, and remove modules from FreeType. */ 46049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 47049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 48049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* The definitions below are used to manage modules within FreeType. */ 49049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Modules can be added, upgraded, and removed at runtime. */ 50049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 51049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 52049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 53049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 54049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module bit flags */ 55049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define FT_MODULE_FONT_DRIVER 1 /* this module is a font driver */ 56049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define FT_MODULE_RENDERER 2 /* this module is a renderer */ 57049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define FT_MODULE_HINTER 4 /* this module is a glyph hinter */ 58049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define FT_MODULE_STYLER 8 /* this module is a styler */ 59049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 60049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define FT_MODULE_DRIVER_SCALABLE 0x100 /* the driver supports */ 61049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* scalable fonts */ 62049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define FT_MODULE_DRIVER_NO_OUTLINES 0x200 /* the driver does not */ 63049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* support vector outlines */ 64049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define FT_MODULE_DRIVER_HAS_HINTER 0x400 /* the driver provides its */ 65049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* own hinter */ 66049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 67049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 68049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* deprecated values */ 69049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define ft_module_font_driver FT_MODULE_FONT_DRIVER 70049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define ft_module_renderer FT_MODULE_RENDERER 71049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define ft_module_hinter FT_MODULE_HINTER 72049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define ft_module_styler FT_MODULE_STYLER 73049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 74049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define ft_module_driver_scalable FT_MODULE_DRIVER_SCALABLE 75049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define ft_module_driver_no_outlines FT_MODULE_DRIVER_NO_OUTLINES 76049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define ft_module_driver_has_hinter FT_MODULE_DRIVER_HAS_HINTER 77049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 78049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 79049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef FT_Pointer FT_Module_Interface; 80049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 81049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 82049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 83049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 84049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <FuncType> */ 85049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Module_Constructor */ 86049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 87049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 88049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A function used to initialize (not create) a new module object. */ 89049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 90049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 91049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module :: The module to initialize. */ 92049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 93049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef FT_Error 94049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project (*FT_Module_Constructor)( FT_Module module ); 95049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 96049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 97049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 98049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 99049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <FuncType> */ 100049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Module_Destructor */ 101049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 102049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 103049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A function used to finalize (not destroy) a given module object. */ 104049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 105049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 106049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module :: The module to finalize. */ 107049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 108049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef void 109049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project (*FT_Module_Destructor)( FT_Module module ); 110049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 111049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 112049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 113049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 114049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <FuncType> */ 115049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Module_Requester */ 116049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 117049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 118049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A function used to query a given module for a specific interface. */ 119049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 120049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 121049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module :: The module to finalize. */ 122049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 123049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* name :: The name of the interface in the module. */ 124049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 125049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef FT_Module_Interface 126049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project (*FT_Module_Requester)( FT_Module module, 127049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project const char* name ); 128049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 129049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 130049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 131049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 132049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 133049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Module_Class */ 134049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 135049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 136049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* The module class descriptor. */ 137049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 138049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Fields> */ 139049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module_flags :: Bit flags describing the module. */ 140049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 141049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module_size :: The size of one module object/instance in */ 142049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* bytes. */ 143049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 144049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module_name :: The name of the module. */ 145049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 146049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module_version :: The version, as a 16.16 fixed number */ 147049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* (major.minor). */ 148049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 149049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module_requires :: The version of FreeType this module requires, */ 150049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* as a 16.16 fixed number (major.minor). Starts */ 151049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* at version 2.0, i.e., 0x20000. */ 152049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 153049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module_init :: The initializing function. */ 154049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 155049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module_done :: The finalizing function. */ 156049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 157049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* get_interface :: The interface requesting function. */ 158049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 159049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct FT_Module_Class_ 160049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 161049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong module_flags; 162049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long module_size; 163049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project const FT_String* module_name; 164049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed module_version; 165049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed module_requires; 166049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 167049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project const void* module_interface; 168049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 169049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Module_Constructor module_init; 170049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Module_Destructor module_done; 171049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Module_Requester get_interface; 172049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 173049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } FT_Module_Class; 174049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 175049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 176049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 177049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 178049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 179049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Add_Module */ 180049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 181049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 1820a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Add a new module to a given library instance. */ 183049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 184049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <InOut> */ 185049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* library :: A handle to the library object. */ 186049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 187049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 188049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* clazz :: A pointer to class descriptor for the module. */ 189049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 190049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Return> */ 1910a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* FreeType error code. 0~means success. */ 192049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 193049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Note> */ 194049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* An error will be returned if a module already exists by that name, */ 195049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* or if the module requires a version of FreeType that is too great. */ 196049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 197049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Error ) 198049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Add_Module( FT_Library library, 199049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project const FT_Module_Class* clazz ); 200049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 201049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 202049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 203049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 204049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 205049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Get_Module */ 206049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 207049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 2080a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Find a module by its name. */ 209049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 210049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 211049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* library :: A handle to the library object. */ 212049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 213049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module_name :: The module's name (as an ASCII string). */ 214049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 215049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Return> */ 2160a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* A module handle. 0~if none was found. */ 217049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 218049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Note> */ 219049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FreeType's internal modules aren't documented very well, and you */ 220049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* should look up the source code for details. */ 221049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 222049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Module ) 223049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Get_Module( FT_Library library, 224049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project const char* module_name ); 225049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 226049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 227049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 228049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 229049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 230049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Remove_Module */ 231049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 232049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 2330a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Remove a given module from a library instance. */ 234049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 235049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <InOut> */ 236049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* library :: A handle to a library object. */ 237049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 238049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 239049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* module :: A handle to a module object. */ 240049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 241049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Return> */ 2420a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* FreeType error code. 0~means success. */ 243049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 244049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Note> */ 245049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* The module object is destroyed by the function in case of success. */ 246049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 247049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Error ) 248049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Remove_Module( FT_Library library, 249049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Module module ); 250049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 251049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 252049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 253049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 254049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 255aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* FT_Reference_Library */ 256aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* */ 257aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* <Description> */ 258aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* A counter gets initialized to~1 at the time an @FT_Library */ 259aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* structure is created. This function increments the counter. */ 260aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* @FT_Done_Library then only destroys a library if the counter is~1, */ 261aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* otherwise it simply decrements the counter. */ 262aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* */ 263aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* This function helps in managing life-cycles of structures which */ 264aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* reference @FT_Library objects. */ 265aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* */ 266aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* <Input> */ 267aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* library :: A handle to a target library object. */ 268aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* */ 269aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* <Return> */ 270aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* FreeType error code. 0~means success. */ 271aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* */ 272aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* <Since> */ 273aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* 2.4.2 */ 274aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* */ 275aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich FT_EXPORT( FT_Error ) 276aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich FT_Reference_Library( FT_Library library ); 277aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich 278aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich 279aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /*************************************************************************/ 280aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* */ 281aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* <Function> */ 282049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_New_Library */ 283049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 284049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 285049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This function is used to create a new FreeType library instance */ 286049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* from a given memory object. It is thus possible to use libraries */ 287049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* with distinct memory allocators within the same program. */ 288049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 289295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner /* Normally, you would call this function (followed by a call to */ 290295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner /* @FT_Add_Default_Modules or a series of calls to @FT_Add_Module) */ 291295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner /* instead of @FT_Init_FreeType to initialize the FreeType library. */ 292295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner /* */ 293aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* Don't use @FT_Done_FreeType but @FT_Done_Library to destroy a */ 294aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* library instance. */ 295aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* */ 296049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 297049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* memory :: A handle to the original memory object. */ 298049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 299049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Output> */ 300049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* alibrary :: A pointer to handle of a new library object. */ 301049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 302049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Return> */ 3030a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* FreeType error code. 0~means success. */ 304049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 305aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* <Note> */ 306aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* See the discussion of reference counters in the description of */ 307aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* @FT_Reference_Library. */ 308aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* */ 309049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Error ) 310049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_New_Library( FT_Memory memory, 311049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Library *alibrary ); 312049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 313049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 314049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 315049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 316049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 317049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Done_Library */ 318049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 319049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 3200a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Discard a given library object. This closes all drivers and */ 321049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* discards all resource objects. */ 322049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 323049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 324049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* library :: A handle to the target library. */ 325049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 326049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Return> */ 3270a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* FreeType error code. 0~means success. */ 328049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 329aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* <Note> */ 330aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* See the discussion of reference counters in the description of */ 331aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* @FT_Reference_Library. */ 332aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich /* */ 333049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Error ) 334049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Done_Library( FT_Library library ); 335049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 336049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 337049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 338049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef void 339049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project (*FT_DebugHook_Func)( void* arg ); 340049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 341049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 342049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 343049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 344049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 345049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Set_Debug_Hook */ 346049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 347049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 3480a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Set a debug hook function for debugging the interpreter of a font */ 349049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* format. */ 350049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 351049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <InOut> */ 352049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* library :: A handle to the library object. */ 353049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 354049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 355049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* hook_index :: The index of the debug hook. You should use the */ 356049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* values defined in `ftobjs.h', e.g., */ 357049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* `FT_DEBUG_HOOK_TRUETYPE'. */ 358049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 359049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* debug_hook :: The function used to debug the interpreter. */ 360049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 361049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Note> */ 362049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Currently, four debug hook slots are available, but only two (for */ 3630a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* the TrueType and the Type~1 interpreter) are defined. */ 364049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 365049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Since the internal headers of FreeType are no longer installed, */ 366049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* the symbol `FT_DEBUG_HOOK_TRUETYPE' isn't available publicly. */ 367049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This is a bug and will be fixed in a forthcoming release. */ 368049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 369049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( void ) 370049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Set_Debug_Hook( FT_Library library, 371049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt hook_index, 372049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_DebugHook_Func debug_hook ); 373049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 374049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 375049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 376049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 377049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 378049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Add_Default_Modules */ 379049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 380049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 3810a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Add the set of default drivers to a given library object. */ 382049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This is only useful when you create a library object with */ 383049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* @FT_New_Library (usually to plug a custom memory manager). */ 384049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 385049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <InOut> */ 386049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* library :: A handle to a new library object. */ 387049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 388049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( void ) 389049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Add_Default_Modules( FT_Library library ); 390049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 391049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 392049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 393049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /************************************************************************** 394049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 395049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @section: 396049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * truetype_engine 397049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 398049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @title: 399049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * The TrueType Engine 400049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 401049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @abstract: 402049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * TrueType bytecode support. 403049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 404049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @description: 405049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * This section contains a function used to query the level of TrueType 406049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * bytecode support compiled in this version of the library. 407049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 408049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project */ 409049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 410049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 411049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /************************************************************************** 412049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 413049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @enum: 414049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * FT_TrueTypeEngineType 415049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 416049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @description: 417049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * A list of values describing which kind of TrueType bytecode 418049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * engine is implemented in a given FT_Library instance. It is used 419049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * by the @FT_Get_TrueType_Engine_Type function. 420049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 421049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @values: 422049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * FT_TRUETYPE_ENGINE_TYPE_NONE :: 423049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * The library doesn't implement any kind of bytecode interpreter. 424049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 425049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * FT_TRUETYPE_ENGINE_TYPE_UNPATENTED :: 426049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * The library implements a bytecode interpreter that doesn't 427049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * support the patented operations of the TrueType virtual machine. 428049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 429049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * Its main use is to load certain Asian fonts which position and 430049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * scale glyph components with bytecode instructions. It produces 431049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * bad output for most other fonts. 432049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 433049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * FT_TRUETYPE_ENGINE_TYPE_PATENTED :: 434049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * The library implements a bytecode interpreter that covers 435aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich * the full instruction set of the TrueType virtual machine (this 436aacb8e1368a883fcbc9fe64fd0e460cef9c9b20cNick Kralevich * was governed by patents until May 2010, hence the name). 437049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 438049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @since: 439049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 2.2 440049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 441049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project */ 442049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef enum FT_TrueTypeEngineType_ 443049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 444049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_TRUETYPE_ENGINE_TYPE_NONE = 0, 445049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_TRUETYPE_ENGINE_TYPE_UNPATENTED, 446049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_TRUETYPE_ENGINE_TYPE_PATENTED 447049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 448049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } FT_TrueTypeEngineType; 449049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 450049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 451049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /************************************************************************** 452049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 453049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @func: 454049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * FT_Get_TrueType_Engine_Type 455049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 456049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @description: 4570a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project * Return an @FT_TrueTypeEngineType value to indicate which level of 458049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * the TrueType virtual machine a given library instance supports. 459049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 460049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @input: 461049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * library :: 462049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * A library instance. 463049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 464049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @return: 465049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * A value indicating which level is supported. 466049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 467049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * @since: 468049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 2.2 469049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project * 470049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project */ 471049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_TrueTypeEngineType ) 472049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Get_TrueType_Engine_Type( FT_Library library ); 473049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 474049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 475049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 476049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 477049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 478049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_END_HEADER 479049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 480049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#endif /* __FTMODAPI_H__ */ 481049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 482049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 483049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* END */ 484