Home | History | Annotate | Download | only in freetype
      1 /***************************************************************************/
      2 /*                                                                         */
      3 /*  ftcid.h                                                                */
      4 /*                                                                         */
      5 /*    FreeType API for accessing CID font information (specification).     */
      6 /*                                                                         */
      7 /*  Copyright 2007, 2009 by Dereg Clegg, Michael Toftdal.                  */
      8 /*                                                                         */
      9 /*  This file is part of the FreeType project, and may only be used,       */
     10 /*  modified, and distributed under the terms of the FreeType project      */
     11 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
     12 /*  this file you indicate that you have read the license and              */
     13 /*  understand and accept it fully.                                        */
     14 /*                                                                         */
     15 /***************************************************************************/
     16 
     17 
     18 #ifndef __FTCID_H__
     19 #define __FTCID_H__
     20 
     21 #include <ft2build.h>
     22 #include FT_FREETYPE_H
     23 
     24 #ifdef FREETYPE_H
     25 #error "freetype.h of FreeType 1 has been loaded!"
     26 #error "Please fix the directory search order for header files"
     27 #error "so that freetype.h of FreeType 2 is found first."
     28 #endif
     29 
     30 
     31 FT_BEGIN_HEADER
     32 
     33 
     34   /*************************************************************************/
     35   /*                                                                       */
     36   /* <Section>                                                             */
     37   /*    cid_fonts                                                          */
     38   /*                                                                       */
     39   /* <Title>                                                               */
     40   /*    CID Fonts                                                          */
     41   /*                                                                       */
     42   /* <Abstract>                                                            */
     43   /*    CID-keyed font specific API.                                       */
     44   /*                                                                       */
     45   /* <Description>                                                         */
     46   /*    This section contains the declaration of CID-keyed font specific   */
     47   /*    functions.                                                         */
     48   /*                                                                       */
     49   /*************************************************************************/
     50 
     51 
     52   /**********************************************************************
     53    *
     54    * @function:
     55    *    FT_Get_CID_Registry_Ordering_Supplement
     56    *
     57    * @description:
     58    *    Retrieve the Registry/Ordering/Supplement triple (also known as the
     59    *    "R/O/S") from a CID-keyed font.
     60    *
     61    * @input:
     62    *    face ::
     63    *       A handle to the input face.
     64    *
     65    * @output:
     66    *    registry ::
     67    *       The registry, as a C~string, owned by the face.
     68    *
     69    *    ordering ::
     70    *       The ordering, as a C~string, owned by the face.
     71    *
     72    *    supplement ::
     73    *       The supplement.
     74    *
     75    * @return:
     76    *    FreeType error code.  0~means success.
     77    *
     78    * @note:
     79    *    This function only works with CID faces, returning an error
     80    *    otherwise.
     81    *
     82    * @since:
     83    *    2.3.6
     84    */
     85   FT_EXPORT( FT_Error )
     86   FT_Get_CID_Registry_Ordering_Supplement( FT_Face       face,
     87                                            const char*  *registry,
     88                                            const char*  *ordering,
     89                                            FT_Int       *supplement);
     90 
     91 
     92   /**********************************************************************
     93    *
     94    * @function:
     95    *    FT_Get_CID_Is_Internally_CID_Keyed
     96    *
     97    * @description:
     98    *    Retrieve the type of the input face, CID keyed or not.  In
     99    *    constrast to the @FT_IS_CID_KEYED macro this function returns
    100    *    successfully also for CID-keyed fonts in an SNFT wrapper.
    101    *
    102    * @input:
    103    *    face ::
    104    *       A handle to the input face.
    105    *
    106    * @output:
    107    *    is_cid ::
    108    *       The type of the face as an @FT_Bool.
    109    *
    110    * @return:
    111    *    FreeType error code.  0~means success.
    112    *
    113    * @note:
    114    *    This function only works with CID faces and OpenType fonts,
    115    *    returning an error otherwise.
    116    *
    117    * @since:
    118    *    2.3.9
    119    */
    120   FT_EXPORT( FT_Error )
    121   FT_Get_CID_Is_Internally_CID_Keyed( FT_Face   face,
    122                                       FT_Bool  *is_cid );
    123 
    124 
    125   /**********************************************************************
    126    *
    127    * @function:
    128    *    FT_Get_CID_From_Glyph_Index
    129    *
    130    * @description:
    131    *    Retrieve the CID of the input glyph index.
    132    *
    133    * @input:
    134    *    face ::
    135    *       A handle to the input face.
    136    *
    137    *    glyph_index ::
    138    *       The input glyph index.
    139    *
    140    * @output:
    141    *    cid ::
    142    *       The CID as an @FT_UInt.
    143    *
    144    * @return:
    145    *    FreeType error code.  0~means success.
    146    *
    147    * @note:
    148    *    This function only works with CID faces and OpenType fonts,
    149    *    returning an error otherwise.
    150    *
    151    * @since:
    152    *    2.3.9
    153    */
    154   FT_EXPORT( FT_Error )
    155   FT_Get_CID_From_Glyph_Index( FT_Face   face,
    156                                FT_UInt   glyph_index,
    157                                FT_UInt  *cid );
    158 
    159  /* */
    160 
    161 FT_END_HEADER
    162 
    163 #endif /* __FTCID_H__ */
    164 
    165 
    166 /* END */
    167