modules/freetype2/include/ftmac.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /***************************************************************************/
     2 /*                                                                         */
     3 /*  ftmac.h                                                                */
     4 /*                                                                         */
     5 /*    Additional Mac-specific API.                                         */
     6 /*                                                                         */
     7 /*  Copyright 1996-2001, 2004, 2006, 2007, 2013 by                         */
     8 /*  Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg.     */
     9 /*                                                                         */
    10 /*  This file is part of the FreeType project, and may only be used,       */
    11 /*  modified, and distributed under the terms of the FreeType project      */
    12 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
    13 /*  this file you indicate that you have read the license and              */
    14 /*  understand and accept it fully.                                        */
    15 /*                                                                         */
    16 /***************************************************************************/
    19 /***************************************************************************/
    20 /*                                                                         */
    21 /* NOTE: Include this file after FT_FREETYPE_H and after any               */
    22 /*       Mac-specific headers (because this header uses Mac types such as  */
    23 /*       Handle, FSSpec, FSRef, etc.)                                      */
    24 /*                                                                         */
    25 /***************************************************************************/
    28 #ifndef __FTMAC_H__
    29 #define __FTMAC_H__
    32 #include <ft2build.h>
    35 FT_BEGIN_HEADER
    38 /* gcc-3.4.1 and later can warn about functions tagged as deprecated */
    39 #ifndef FT_DEPRECATED_ATTRIBUTE
    40 #if defined(__GNUC__)                                               && \
    41     ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
    42 #define FT_DEPRECATED_ATTRIBUTE  __attribute__((deprecated))
    43 #else
    44 #define FT_DEPRECATED_ATTRIBUTE
    45 #endif
    46 #endif
    49   /*************************************************************************/
    50   /*                                                                       */
    51   /* <Section>                                                             */
    52   /*    mac_specific                                                       */
    53   /*                                                                       */
    54   /* <Title>                                                               */
    55   /*    Mac Specific Interface                                             */
    56   /*                                                                       */
    57   /* <Abstract>                                                            */
    58   /*    Only available on the Macintosh.                                   */
    59   /*                                                                       */
    60   /* <Description>                                                         */
    61   /*    The following definitions are only available if FreeType is        */
    62   /*    compiled on a Macintosh.                                           */
    63   /*                                                                       */
    64   /*************************************************************************/
    67   /*************************************************************************/
    68   /*                                                                       */
    69   /* <Function>                                                            */
    70   /*    FT_New_Face_From_FOND                                              */
    71   /*                                                                       */
    72   /* <Description>                                                         */
    73   /*    Create a new face object from a FOND resource.                     */
    74   /*                                                                       */
    75   /* <InOut>                                                               */
    76   /*    library    :: A handle to the library resource.                    */
    77   /*                                                                       */
    78   /* <Input>                                                               */
    79   /*    fond       :: A FOND resource.                                     */
    80   /*                                                                       */
    81   /*    face_index :: Only supported for the -1 `sanity check' special     */
    82   /*                  case.                                                */
    83   /*                                                                       */
    84   /* <Output>                                                              */
    85   /*    aface      :: A handle to a new face object.                       */
    86   /*                                                                       */
    87   /* <Return>                                                              */
    88   /*    FreeType error code.  0~means success.                             */
    89   /*                                                                       */
    90   /* <Notes>                                                               */
    91   /*    This function can be used to create @FT_Face objects from fonts    */
    92   /*    that are installed in the system as follows.                       */
    93   /*                                                                       */
    94   /*    {                                                                  */
    95   /*      fond = GetResource( 'FOND', fontName );                          */
    96   /*      error = FT_New_Face_From_FOND( library, fond, 0, &face );        */
    97   /*    }                                                                  */
    98   /*                                                                       */
    99   FT_EXPORT( FT_Error )
   100   FT_New_Face_From_FOND( FT_Library  library,
   101                          Handle      fond,
   102                          FT_Long     face_index,
   103                          FT_Face    *aface )
   104                        FT_DEPRECATED_ATTRIBUTE;
   107   /*************************************************************************/
   108   /*                                                                       */
   109   /* <Function>                                                            */
   110   /*    FT_GetFile_From_Mac_Name                                           */
   111   /*                                                                       */
   112   /* <Description>                                                         */
   113   /*    Return an FSSpec for the disk file containing the named font.      */
   114   /*                                                                       */
   115   /* <Input>                                                               */
   116   /*    fontName   :: Mac OS name of the font (e.g., Times New Roman       */
   117   /*                  Bold).                                               */
   118   /*                                                                       */
   119   /* <Output>                                                              */
   120   /*    pathSpec   :: FSSpec to the file.  For passing to                  */
   121   /*                  @FT_New_Face_From_FSSpec.                            */
   122   /*                                                                       */
   123   /*    face_index :: Index of the face.  For passing to                   */
   124   /*                  @FT_New_Face_From_FSSpec.                            */
   125   /*                                                                       */
   126   /* <Return>                                                              */
   127   /*    FreeType error code.  0~means success.                             */
   128   /*                                                                       */
   129   FT_EXPORT( FT_Error )
   130   FT_GetFile_From_Mac_Name( const char*  fontName,
   131                             FSSpec*      pathSpec,
   132                             FT_Long*     face_index )
   133                           FT_DEPRECATED_ATTRIBUTE;
   136   /*************************************************************************/
   137   /*                                                                       */
   138   /* <Function>                                                            */
   139   /*    FT_GetFile_From_Mac_ATS_Name                                       */
   140   /*                                                                       */
   141   /* <Description>                                                         */
   142   /*    Return an FSSpec for the disk file containing the named font.      */
   143   /*                                                                       */
   144   /* <Input>                                                               */
   145   /*    fontName   :: Mac OS name of the font in ATS framework.            */
   146   /*                                                                       */
   147   /* <Output>                                                              */
   148   /*    pathSpec   :: FSSpec to the file. For passing to                   */
   149   /*                  @FT_New_Face_From_FSSpec.                            */
   150   /*                                                                       */
   151   /*    face_index :: Index of the face. For passing to                    */
   152   /*                  @FT_New_Face_From_FSSpec.                            */
   153   /*                                                                       */
   154   /* <Return>                                                              */
   155   /*    FreeType error code.  0~means success.                             */
   156   /*                                                                       */
   157   FT_EXPORT( FT_Error )
   158   FT_GetFile_From_Mac_ATS_Name( const char*  fontName,
   159                                 FSSpec*      pathSpec,
   160                                 FT_Long*     face_index )
   161                               FT_DEPRECATED_ATTRIBUTE;
   164   /*************************************************************************/
   165   /*                                                                       */
   166   /* <Function>                                                            */
   167   /*    FT_GetFilePath_From_Mac_ATS_Name                                   */
   168   /*                                                                       */
   169   /* <Description>                                                         */
   170   /*    Return a pathname of the disk file and face index for given font   */
   171   /*    name that is handled by ATS framework.                             */
   172   /*                                                                       */
   173   /* <Input>                                                               */
   174   /*    fontName    :: Mac OS name of the font in ATS framework.           */
   175   /*                                                                       */
   176   /* <Output>                                                              */
   177   /*    path        :: Buffer to store pathname of the file.  For passing  */
   178   /*                   to @FT_New_Face.  The client must allocate this     */
   179   /*                   buffer before calling this function.                */
   180   /*                                                                       */
   181   /*    maxPathSize :: Lengths of the buffer `path' that client allocated. */
   182   /*                                                                       */
   183   /*    face_index  :: Index of the face.  For passing to @FT_New_Face.    */
   184   /*                                                                       */
   185   /* <Return>                                                              */
   186   /*    FreeType error code.  0~means success.                             */
   187   /*                                                                       */
   188   FT_EXPORT( FT_Error )
   189   FT_GetFilePath_From_Mac_ATS_Name( const char*  fontName,
   190                                     UInt8*       path,
   191                                     UInt32       maxPathSize,
   192                                     FT_Long*     face_index )
   193                                   FT_DEPRECATED_ATTRIBUTE;
   196   /*************************************************************************/
   197   /*                                                                       */
   198   /* <Function>                                                            */
   199   /*    FT_New_Face_From_FSSpec                                            */
   200   /*                                                                       */
   201   /* <Description>                                                         */
   202   /*    Create a new face object from a given resource and typeface index  */
   203   /*    using an FSSpec to the font file.                                  */
   204   /*                                                                       */
   205   /* <InOut>                                                               */
   206   /*    library    :: A handle to the library resource.                    */
   207   /*                                                                       */
   208   /* <Input>                                                               */
   209   /*    spec       :: FSSpec to the font file.                             */
   210   /*                                                                       */
   211   /*    face_index :: The index of the face within the resource.  The      */
   212   /*                  first face has index~0.                              */
   213   /* <Output>                                                              */
   214   /*    aface      :: A handle to a new face object.                       */
   215   /*                                                                       */
   216   /* <Return>                                                              */
   217   /*    FreeType error code.  0~means success.                             */
   218   /*                                                                       */
   219   /* <Note>                                                                */
   220   /*    @FT_New_Face_From_FSSpec is identical to @FT_New_Face except       */
   221   /*    it accepts an FSSpec instead of a path.                            */
   222   /*                                                                       */
   223   FT_EXPORT( FT_Error )
   224   FT_New_Face_From_FSSpec( FT_Library     library,
   225                            const FSSpec  *spec,
   226                            FT_Long        face_index,
   227                            FT_Face       *aface )
   228                          FT_DEPRECATED_ATTRIBUTE;
   231   /*************************************************************************/
   232   /*                                                                       */
   233   /* <Function>                                                            */
   234   /*    FT_New_Face_From_FSRef                                             */
   235   /*                                                                       */
   236   /* <Description>                                                         */
   237   /*    Create a new face object from a given resource and typeface index  */
   238   /*    using an FSRef to the font file.                                   */
   239   /*                                                                       */
   240   /* <InOut>                                                               */
   241   /*    library    :: A handle to the library resource.                    */
   242   /*                                                                       */
   243   /* <Input>                                                               */
   244   /*    spec       :: FSRef to the font file.                              */
   245   /*                                                                       */
   246   /*    face_index :: The index of the face within the resource.  The      */
   247   /*                  first face has index~0.                              */
   248   /* <Output>                                                              */
   249   /*    aface      :: A handle to a new face object.                       */
   250   /*                                                                       */
   251   /* <Return>                                                              */
   252   /*    FreeType error code.  0~means success.                             */
   253   /*                                                                       */
   254   /* <Note>                                                                */
   255   /*    @FT_New_Face_From_FSRef is identical to @FT_New_Face except        */
   256   /*    it accepts an FSRef instead of a path.                             */
   257   /*                                                                       */
   258   FT_EXPORT( FT_Error )
   259   FT_New_Face_From_FSRef( FT_Library    library,
   260                           const FSRef  *ref,
   261                           FT_Long       face_index,
   262                           FT_Face      *aface )
   263                         FT_DEPRECATED_ATTRIBUTE;
   265   /* */
   268 FT_END_HEADER
   271 #endif /* __FTMAC_H__ */
   274 /* END */

mercurial