/***************************************************************************/

/*                                                                         */

/*  ftcid.h                                                                */

/*                                                                         */

/*    FreeType API for accessing CID font information (specification).     */

/*                                                                         */

/*  Copyright 2007, 2009 by Dereg Clegg, Michael Toftdal.                  */

/*                                                                         */

/*  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 __FTCID_H__

#define __FTCID_H__



#include <ft2build.h>

#include FT_FREETYPE_H



#ifdef FREETYPE_H

#error "freetype.h of FreeType 1 has been loaded!"

#error "Please fix the directory search order for header files"

#error "so that freetype.h of FreeType 2 is found first."

#endif





FT_BEGIN_HEADER





  /*************************************************************************/

  /*                                                                       */

  /* <Section>                                                             */

  /*    cid_fonts                                                          */

  /*                                                                       */

  /* <Title>                                                               */

  /*    CID Fonts                                                          */

  /*                                                                       */

  /* <Abstract>                                                            */

  /*    CID-keyed font specific API.                                       */

  /*                                                                       */

  /* <Description>                                                         */

  /*    This section contains the declaration of CID-keyed font specific   */

  /*    functions.                                                         */

  /*                                                                       */

  /*************************************************************************/





  /**********************************************************************

   *

   * @function:

   *    FT_Get_CID_Registry_Ordering_Supplement

   *

   * @description:

   *    Retrieve the Registry/Ordering/Supplement triple (also known as the

   *    "R/O/S") from a CID-keyed font.

   *

   * @input:

   *    face ::

   *       A handle to the input face.

   *

   * @output:

   *    registry ::

   *       The registry, as a C~string, owned by the face.

   *

   *    ordering ::

   *       The ordering, as a C~string, owned by the face.

   *

   *    supplement ::

   *       The supplement.

   *

   * @return:

   *    FreeType error code.  0~means success.

   *

   * @note:

   *    This function only works with CID faces, returning an error

   *    otherwise.

   *

   * @since:

   *    2.3.6

   */

  FT_EXPORT( FT_Error )

  FT_Get_CID_Registry_Ordering_Supplement( FT_Face       face,

                                           const char*  *registry,

                                           const char*  *ordering,

                                           FT_Int       *supplement);





  /**********************************************************************

   *

   * @function:

   *    FT_Get_CID_Is_Internally_CID_Keyed

   *

   * @description:

   *    Retrieve the type of the input face, CID keyed or not.  In

   *    constrast to the @FT_IS_CID_KEYED macro this function returns

   *    successfully also for CID-keyed fonts in an SNFT wrapper.

   *

   * @input:

   *    face ::

   *       A handle to the input face.

   *

   * @output:

   *    is_cid ::

   *       The type of the face as an @FT_Bool.

   *

   * @return:

   *    FreeType error code.  0~means success.

   *

   * @note:

   *    This function only works with CID faces and OpenType fonts,

   *    returning an error otherwise.

   *

   * @since:

   *    2.3.9

   */

  FT_EXPORT( FT_Error )

  FT_Get_CID_Is_Internally_CID_Keyed( FT_Face   face,

                                      FT_Bool  *is_cid );





  /**********************************************************************

   *

   * @function:

   *    FT_Get_CID_From_Glyph_Index

   *

   * @description:

   *    Retrieve the CID of the input glyph index.

   *

   * @input:

   *    face ::

   *       A handle to the input face.

   *

   *    glyph_index ::

   *       The input glyph index.

   *

   * @output:

   *    cid ::

   *       The CID as an @FT_UInt.

   *

   * @return:

   *    FreeType error code.  0~means success.

   *

   * @note:

   *    This function only works with CID faces and OpenType fonts,

   *    returning an error otherwise.

   *

   * @since:

   *    2.3.9

   */

  FT_EXPORT( FT_Error )

  FT_Get_CID_From_Glyph_Index( FT_Face   face,

                               FT_UInt   glyph_index,

                               FT_UInt  *cid );



 /* */



FT_END_HEADER



#endif /* __FTCID_H__ */





/* END */

