+++ /dev/null
-/***************************************************************************/
-/* */
-/* psnames.h */
-/* */
-/* High-level interface for the `PSNames' module (in charge of */
-/* various functions related to Postscript glyph names conversion). */
-/* */
-/* Copyright 1996-2001 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 __PSNAMES_H__
-#define __PSNAMES_H__
-
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-
-FT_BEGIN_HEADER
-
-
- /*************************************************************************/
- /* */
- /* <FuncType> */
- /* PS_Unicode_Value_Func */
- /* */
- /* <Description> */
- /* A function used to return the Unicode index corresponding to a */
- /* given glyph name. */
- /* */
- /* <Input> */
- /* glyph_name :: The glyph name. */
- /* */
- /* <Return> */
- /* The Unicode character index resp. the non-Unicode value 0xFFFF if */
- /* the glyph name has no known Unicode meaning. */
- /* */
- /* <Note> */
- /* This function is able to map several different glyph names to the */
- /* same Unicode value, according to the rules defined in the Adobe */
- /* Glyph List table. */
- /* */
- /* This function will not be compiled if the configuration macro */
- /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST is undefined. */
- /* */
- typedef FT_ULong
- (*PS_Unicode_Value_Func)( const char* glyph_name );
-
-
- /*************************************************************************/
- /* */
- /* <FuncType> */
- /* PS_Unicode_Index_Func */
- /* */
- /* <Description> */
- /* A function used to return the glyph index corresponding to a given */
- /* Unicode value. */
- /* */
- /* <Input> */
- /* num_glyphs :: The number of glyphs in the face. */
- /* */
- /* glyph_names :: An array of glyph name pointers. */
- /* */
- /* unicode :: The Unicode value. */
- /* */
- /* <Return> */
- /* The glyph index resp. 0xFFFF if no glyph corresponds to this */
- /* Unicode value. */
- /* */
- /* <Note> */
- /* This function is able to recognize several glyph names per Unicode */
- /* value, according to the Adobe Glyph List. */
- /* */
- /* This function will not be compiled if the configuration macro */
- /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST is undefined. */
- /* */
- typedef FT_UInt
- (*PS_Unicode_Index_Func)( FT_UInt num_glyphs,
- const char** glyph_names,
- FT_ULong unicode );
-
-
- /*************************************************************************/
- /* */
- /* <FuncType> */
- /* PS_Macintosh_Name_Func */
- /* */
- /* <Description> */
- /* A function used to return the glyph name corresponding to an Apple */
- /* glyph name index. */
- /* */
- /* <Input> */
- /* name_index :: The index of the Mac name. */
- /* */
- /* <Return> */
- /* The glyph name, or 0 if the index is invalid. */
- /* */
- /* <Note> */
- /* This function will not be compiled if the configuration macro */
- /* FT_CONFIG_OPTION_POSTSCRIPT_NAMES is undefined. */
- /* */
- typedef const char*
- (*PS_Macintosh_Name_Func)( FT_UInt name_index );
-
-
- typedef const char*
- (*PS_Adobe_Std_Strings_Func)( FT_UInt string_index );
-
-
- typedef struct PS_UniMap_
- {
- FT_UInt unicode;
- FT_UInt glyph_index;
-
- } PS_UniMap;
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* PS_Unicodes */
- /* */
- /* <Description> */
- /* A simple table used to map Unicode values to glyph indices. It is */
- /* built by the PS_Build_Unicodes table according to the glyphs */
- /* present in a font file. */
- /* */
- /* <Fields> */
- /* num_codes :: The number of glyphs in the font that match a given */
- /* Unicode value. */
- /* */
- /* unicodes :: An array of unicode values, sorted in increasing */
- /* order. */
- /* */
- /* gindex :: An array of glyph indices, corresponding to each */
- /* Unicode value. */
- /* */
- /* <Note> */
- /* Use the function PS_Lookup_Unicode() to retrieve the glyph index */
- /* corresponding to a given Unicode character code. */
- /* */
- typedef struct PS_Unicodes_
- {
- FT_UInt num_maps;
- PS_UniMap* maps;
-
- } PS_Unicodes;
-
-
- typedef FT_Error
- (*PS_Build_Unicodes_Func)( FT_Memory memory,
- FT_UInt num_glyphs,
- const char** glyph_names,
- PS_Unicodes* unicodes );
-
- typedef FT_UInt
- (*PS_Lookup_Unicode_Func)( PS_Unicodes* unicodes,
- FT_UInt unicode );
-
-
- /*************************************************************************/
- /* */
- /* <Struct> */
- /* PSNames_Interface */
- /* */
- /* <Description> */
- /* This structure defines the PSNames interface. */
- /* */
- /* <Fields> */
- /* unicode_value :: A function used to convert a glyph name */
- /* into a Unicode character code. */
- /* */
- /* build_unicodes :: A function which builds up the Unicode */
- /* mapping table. */
- /* */
- /* lookup_unicode :: A function used to return the glyph index */
- /* corresponding to a given Unicode */
- /* character. */
- /* */
- /* macintosh_name :: A function used to return the standard */
- /* Apple glyph Postscript name corresponding */
- /* to a given string index (used by the */
- /* TrueType `post' table). */
- /* */
- /* adobe_std_strings :: A function that returns a pointer to a */
- /* Adobe Standard String for a given SID. */
- /* */
- /* adobe_std_encoding :: A table of 256 unsigned shorts that maps */
- /* character codes in the Adobe Standard */
- /* Encoding to SIDs. */
- /* */
- /* adobe_expert_encoding :: A table of 256 unsigned shorts that maps */
- /* character codes in the Adobe Expert */
- /* Encoding to SIDs. */
- /* */
- /* <Note> */
- /* `unicode_value' and `unicode_index' will be set to 0 if the */
- /* configuration macro FT_CONFIG_OPTION_ADOBE_GLYPH_LIST is */
- /* undefined. */
- /* */
- /* `macintosh_name' will be set to 0 if the configuration macro */
- /* FT_CONFIG_OPTION_POSTSCRIPT_NAMES is undefined. */
- /* */
- typedef struct PSNames_Interface_
- {
- PS_Unicode_Value_Func unicode_value;
- PS_Build_Unicodes_Func build_unicodes;
- PS_Lookup_Unicode_Func lookup_unicode;
- PS_Macintosh_Name_Func macintosh_name;
-
- PS_Adobe_Std_Strings_Func adobe_std_strings;
- const unsigned short* adobe_std_encoding;
- const unsigned short* adobe_expert_encoding;
-
- } PSNames_Interface;
-
-
-FT_END_HEADER
-
-#endif /* __PSNAMES_H__ */
-
-
-/* END */