| 1 | /***************************************************************************/ | 
| 2 | /*                                                                         */ | 
| 3 | /*  ftbase.h                                                               */ | 
| 4 | /*                                                                         */ | 
| 5 | /*    Private functions used in the `base' module (specification).         */ | 
| 6 | /*                                                                         */ | 
| 7 | /*  Copyright 2008-2018 by                                                 */ | 
| 8 | /*  David Turner, Robert Wilhelm, Werner Lemberg, and suzuki toshiya.      */ | 
| 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 | /***************************************************************************/ | 
| 17 |  | 
| 18 |  | 
| 19 | #ifndef FTBASE_H_ | 
| 20 | #define FTBASE_H_ | 
| 21 |  | 
| 22 |  | 
| 23 | #include <ft2build.h> | 
| 24 | #include FT_INTERNAL_OBJECTS_H | 
| 25 |  | 
| 26 |  | 
| 27 | FT_BEGIN_HEADER | 
| 28 |  | 
| 29 |  | 
| 30 | #ifdef FT_CONFIG_OPTION_MAC_FONTS | 
| 31 |  | 
| 32 |   /* MacOS resource fork cannot exceed 16MB at least for Carbon code; */ | 
| 33 |   /* see https://support.microsoft.com/en-us/kb/130437                */ | 
| 34 | #define FT_MAC_RFORK_MAX_LEN  0x00FFFFFFUL | 
| 35 |  | 
| 36 |  | 
| 37 |   /* Assume the stream is sfnt-wrapped PS Type1 or sfnt-wrapped CID-keyed */ | 
| 38 |   /* font, and try to load a face specified by the face_index.            */ | 
| 39 |   FT_LOCAL( FT_Error ) | 
| 40 |   open_face_PS_from_sfnt_stream( FT_Library     library, | 
| 41 |                                  FT_Stream      stream, | 
| 42 |                                  FT_Long        face_index, | 
| 43 |                                  FT_Int         num_params, | 
| 44 |                                  FT_Parameter  *params, | 
| 45 |                                  FT_Face       *aface ); | 
| 46 |  | 
| 47 |  | 
| 48 |   /* Create a new FT_Face given a buffer and a driver name. */ | 
| 49 |   /* From ftmac.c.                                          */ | 
| 50 |   FT_LOCAL( FT_Error ) | 
| 51 |   open_face_from_buffer( FT_Library   library, | 
| 52 |                          FT_Byte*     base, | 
| 53 |                          FT_ULong     size, | 
| 54 |                          FT_Long      face_index, | 
| 55 |                          const char*  driver_name, | 
| 56 |                          FT_Face     *aface ); | 
| 57 |  | 
| 58 |  | 
| 59 | #if  defined( FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK ) && \ | 
| 60 |     !defined( FT_MACINTOSH ) | 
| 61 |   /* Mac OS X/Darwin kernel often changes recommended method to access */ | 
| 62 |   /* the resource fork and older methods makes the kernel issue the    */ | 
| 63 |   /* warning of deprecated method.  To calm it down, the methods based */ | 
| 64 |   /* on Darwin VFS should be grouped and skip the rest methods after   */ | 
| 65 |   /* the case the resource is opened but found to lack a font in it.   */ | 
| 66 |   FT_LOCAL( FT_Bool ) | 
| 67 |   ft_raccess_rule_by_darwin_vfs( FT_Library library, FT_UInt  rule_index ); | 
| 68 | #endif | 
| 69 |  | 
| 70 | #endif /* FT_CONFIG_OPTION_MAC_FONTS */ | 
| 71 |  | 
| 72 |  | 
| 73 | FT_END_HEADER | 
| 74 |  | 
| 75 | #endif /* FTBASE_H_ */ | 
| 76 |  | 
| 77 |  | 
| 78 | /* END */ | 
| 79 |  |