Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  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.