www.pudn.com > freetype.rar > ftsnames.h
/***************************************************************************/ /* */ /* ftsnames.h */ /* */ /* Simple interface to access SFNT name tables (which are used */ /* to hold font names, copyright info, notices, etc.) (specification). */ /* */ /* This is _not_ used to retrieve glyph names! */ /* */ /* Copyright 1996-2001, 2002 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ /* modified, and distributed under the terms of the FreeType project */ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ /* this file you indicate that you have read the license and */ /* understand and accept it fully. */ /* */ /***************************************************************************/ #ifndef __FT_SFNT_NAMES_H__ #define __FT_SFNT_NAMES_H__ #include "ft2build.h" #include "freetype/freetype.h" FT_BEGIN_HEADER /*************************************************************************/ /* */ /**/ /* sfnt_names */ /* */ /* */ /* SFNT Names */ /* */ /* */ /* Access the names embedded in TrueType and OpenType files. */ /* */ /* */ /* The TrueType and OpenType specification allow the inclusion of */ /* a special `names table' in font files. This table contains */ /* textual (and internationalized) information regarding the font, */ /* like family name, copyright, version, etc. */ /* */ /* The definitions below are used to access them if available. */ /* */ /* Note that this has nothing to do with glyph names! */ /* */ /*************************************************************************/ /*************************************************************************/ /* */ /* */ /* FT_SfntName */ /* */ /* */ /* A structure used to model an SFNT `name' table entry. */ /* */ /* */ /* platform_id :: The platform ID for `string'. */ /* */ /* encoding_id :: The encoding ID for `string'. */ /* */ /* language_id :: The language ID for `string'. */ /* */ /* name_id :: An identifier for `string'. */ /* */ /* string :: The `name' string. Note that its format differs */ /* depending on the (platform,encoding) pair. It can */ /* be a Pascal String, a UTF-16 one, etc.. */ /* */ /* Generally speaking, the string is not */ /* zero-terminated. Please refer to the TrueType */ /* specification for details.. */ /* */ /* string_len :: The length of `string' in bytes. */ /* */ /* */ /* Possible values for `platform_id', `encoding_id', `language_id', */ /* and `name_id' are given in the file `ttnameid.h'. For details */ /* please refer to the TrueType or OpenType specification. */ /* */ typedef struct FT_SfntName_ { FT_UShort platform_id; FT_UShort encoding_id; FT_UShort language_id; FT_UShort name_id; FT_Byte* string; /* this string is *not* null-terminated! */ FT_UInt string_len; /* in bytes */ } FT_SfntName; /*************************************************************************/ /* */ /* */ /* FT_Get_Sfnt_Name_Count */ /* */ /* */ /* Retrieves the number of name strings in the SFNT `name' table. */ /* */ /* */ /* face :: A handle to the source face. */ /* */ /* */ /* The number of strings in the `name' table. */ /* */ FT_EXPORT( FT_UInt ) FT_Get_Sfnt_Name_Count( FT_Face face ); /*************************************************************************/ /* */ /* */ /* FT_Get_Sfnt_Name */ /* */ /* */ /* Retrieves a string of the SFNT `name' table for a given index. */ /* */ /* */ /* face :: A handle to the source face. */ /* */ /* idx :: The index of the `name' string. */ /* */ /*