shithub: freetype+ttf2subf

Download patch

ref: c713d924d8107d8c2ccd0e27832a09992397eeae
parent: a9f2ddd3dc0af3e10aca8287671cf4a5a922a48f
author: Werner Lemberg <[email protected]>
date: Tue Aug 1 09:17:04 EDT 2000

Added #ifdef's for C++ to all header files.

git/fs: mount .git/fs: mount/attach disallowed
--- a/builds/unix/ftconfig.in
+++ b/builds/unix/ftconfig.in
@@ -42,6 +42,11 @@
 #include <freetype/config/ftoption.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /*               PLATFORM-SPECIFIC CONFIGURATION MACROS                  */
@@ -165,6 +170,12 @@
 #ifndef  FT_EXPORT_VAR
 #define  FT_EXPORT_VAR( x )   extern  x
 #endif
+
+
+#ifdef __cplusplus
+  }
+#endif
+
 
 #endif /* FTCONFIG_H */
 
--- a/include/freetype/config/ftconfig.h
+++ b/include/freetype/config/ftconfig.h
@@ -44,6 +44,11 @@
 #include <freetype/config/ftoption.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /*               PLATFORM-SPECIFIC CONFIGURATION MACROS                  */
@@ -180,6 +185,11 @@
 #ifndef  FT_EXPORT_VAR
 #define  FT_EXPORT_VAR( x )   extern  x
 #endif
+
+#ifdef __cplusplus
+  }
+#endif
+
 
 #endif /* FTCONFIG_H */
 
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -20,6 +20,11 @@
 #define FTOPTION_H
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /*                 USER-SELECTABLE CONFIGURATION MACROS                  */
@@ -387,6 +392,11 @@
   /* driver.                                                               */
   /*                                                                       */
 #undef T1_CONFIG_OPTION_NO_MM_SUPPORT
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* FTOPTION_H */
--- a/include/freetype/fterrors.h
+++ b/include/freetype/fterrors.h
@@ -44,6 +44,11 @@
 #define FTERRORS_H
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
 #ifndef FT_ERRORDEF
 
 #define FT_ERRORDEF( e, v, s )  e = v,
@@ -158,6 +163,11 @@
 #undef FT_ERROR_START_LIST
 #undef FT_ERROR_END_LIST
 #undef FT_ERRORDEF
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* FTERRORS_H */
--- a/include/freetype/ftmac.h
+++ b/include/freetype/ftmac.h
@@ -25,6 +25,11 @@
 #define FT_MAC_H
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /* <Function>                                                            */
@@ -59,6 +64,11 @@
                                 Handle      fond,
                                 FT_Long     face_index,
                                 FT_Face*    aface );
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* FT_MAC_H */
--- a/include/freetype/ftnames.h
+++ b/include/freetype/ftnames.h
@@ -26,6 +26,11 @@
 #include <freetype/freetype.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   typedef struct  FT_SfntName_
   {
     FT_UShort  platform_id;
@@ -45,6 +50,11 @@
                                                FT_UInt       index,
                                                FT_SfntName*  aname );
                                                
+
+#ifdef __cplusplus
+  }
+#endif
+
 
 #endif /* FTNAMES_H */
 
--- a/include/freetype/ftsystem.h
+++ b/include/freetype/ftsystem.h
@@ -20,6 +20,11 @@
 #define FTSYSTEM_H
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /*                  M E M O R Y   M A N A G E M E N T                    */
@@ -93,6 +98,11 @@
     unsigned char*   cursor;
     unsigned char*   limit;
   };
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* FTSYSTEM_H */
--- a/include/freetype/fttypes.h
+++ b/include/freetype/fttypes.h
@@ -24,6 +24,11 @@
 #include <freetype/ftimage.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /* <Type>                                                                */
@@ -392,6 +397,11 @@
 
 
 #define FT_IS_EMPTY( list )  ( (list).head == 0 )
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* FTTYPES_H */
--- a/include/freetype/internal/autohint.h
+++ b/include/freetype/internal/autohint.h
@@ -73,6 +73,11 @@
 #include <freetype/freetype.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   typedef struct FT_AutoHinterRec_  *FT_AutoHinter;
 
 
@@ -187,6 +192,11 @@
     FT_AutoHinter_Done_Global_Func  done_global_hints;
 
   } FT_AutoHinter_Interface;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* AUTOHINT_H */
--- a/include/freetype/internal/ftdriver.h
+++ b/include/freetype/internal/ftdriver.h
@@ -24,6 +24,11 @@
 #include <freetype/config/ftconfig.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   typedef FT_Error  (*FTDriver_initFace)( FT_Stream      stream,
                                           FT_Face        face,
                                           FT_Int         typeface_index,
@@ -174,6 +179,11 @@
     FTDriver_getAdvances    get_advances;
 
   } FT_Driver_Class;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* FTDRIVER_H */
--- a/include/freetype/internal/ftmemory.h
+++ b/include/freetype/internal/ftmemory.h
@@ -24,6 +24,11 @@
 #include <freetype/fttypes.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /* <Macro>                                                               */
@@ -119,6 +124,11 @@
                         (_count_)*sizeof ( _type_ ) ) )
 
 #define FREE( _pointer_ )  FT_Free( memory, (void**)&(_pointer_) )
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* FTMEMORY_H */
--- a/include/freetype/internal/psnames.h
+++ b/include/freetype/internal/psnames.h
@@ -24,6 +24,11 @@
 #include <freetype/freetype.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /* <FuncType>                                                            */
@@ -212,6 +217,11 @@
     const unsigned short*      adobe_expert_encoding;
 
   } PSNames_Interface;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* PSNAMES_H */
--- a/include/freetype/internal/sfnt.h
+++ b/include/freetype/internal/sfnt.h
@@ -25,6 +25,11 @@
 #include <freetype/internal/tttypes.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /* <FuncType>                                                            */
@@ -484,6 +489,11 @@
     TT_CharMap_Free_Func      free_charmap;
 
   } SFNT_Interface;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* SFNT_H */
--- a/include/freetype/internal/t1errors.h
+++ b/include/freetype/internal/t1errors.h
@@ -20,6 +20,11 @@
 #define T1ERRORS_H
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /************************ error codes declaration **************/
 
   /* The error codes are grouped into `classes' used to indicate the */
@@ -59,6 +64,11 @@
 #define T1_Err_Syntax_Error            FT_Err_Invalid_File_Format
 #define T1_Err_Stack_Underflow         FT_Err_Invalid_File_Format
 #define T1_Err_Stack_Overflow          FT_Err_Invalid_File_Format
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* T1ERRORS_H */
--- a/include/freetype/internal/t1types.h
+++ b/include/freetype/internal/t1types.h
@@ -25,6 +25,11 @@
 #include <freetype/internal/psnames.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*************************************************************************/
   /*************************************************************************/
@@ -180,6 +185,11 @@
     CID_Subrs*  subrs;
   
   } CID_FaceRec;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* T1TYPES_H */
--- a/include/freetype/internal/t2errors.h
+++ b/include/freetype/internal/t2errors.h
@@ -20,6 +20,11 @@
 #define T2ERRORS_H
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /* Error codes declaration                                               */
@@ -113,6 +118,11 @@
 #define T2_Err_Invalid_Vert_Metrics       0x543
 
 #define T2_Err_Could_Not_Find_Context     0x550
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* T2ERRORS_H */
--- a/include/freetype/internal/t2types.h
+++ b/include/freetype/internal/t2types.h
@@ -24,6 +24,11 @@
 #include <freetype/freetype.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /* <Struct>                                                              */
@@ -210,6 +215,11 @@
     CFF_FD_Select  fd_select;
 
   } CFF_Font;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* T2TYPES_H */
--- a/include/freetype/internal/tterrors.h
+++ b/include/freetype/internal/tterrors.h
@@ -20,6 +20,11 @@
 #define TTERRORS_H
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /* Error codes declaration                                               */
@@ -113,6 +118,11 @@
 #define TT_Err_Invalid_Vert_Metrics       0x443
 
 #define TT_Err_Could_Not_Find_Context     0x450
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* TTERRORS_H */
--- a/include/freetype/internal/tttypes.h
+++ b/include/freetype/internal/tttypes.h
@@ -24,6 +24,11 @@
 #include <freetype/tttables.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*************************************************************************/
   /*************************************************************************/
@@ -1574,6 +1579,11 @@
     void*            other;
 
   };
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* TTTYPES_H */
--- a/include/freetype/t1tables.h
+++ b/include/freetype/t1tables.h
@@ -24,6 +24,11 @@
 #include <freetype/freetype.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /* Note that we separate font data in T1_FontInfo and T1_Private */
   /* structures in order to support Multiple Master fonts.         */
 
@@ -227,6 +232,11 @@
     FT_ULong       data_offset;
 
   } CID_Info;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* T1TABLES_H */
--- a/include/freetype/ttnameid.h
+++ b/include/freetype/ttnameid.h
@@ -20,6 +20,11 @@
 #define TTNAMEID_H
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*                                                                       */
   /* Possible values for the `platform' identifier code in the name        */
@@ -690,6 +695,11 @@
 
 
 #endif /* !HAVE_LIMIT_ON_IDENTS */
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* TTNAMEID_H */
--- a/include/freetype/tttags.h
+++ b/include/freetype/tttags.h
@@ -23,6 +23,11 @@
 #include <freetype/freetype.h>   /* for MAKE_TT_TAG() */
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
 #define TTAG_cmap  FT_MAKE_TAG( 'c', 'm', 'a', 'p' )
 #define TTAG_cvt   FT_MAKE_TAG( 'c', 'v', 't', ' ' )
 #define TTAG_CFF   FT_MAKE_TAG( 'C', 'F', 'F', ' ' )
@@ -59,6 +64,11 @@
 #define TTAG_VDMX  FT_MAKE_TAG( 'V', 'D', 'M', 'X' )
 #define TTAG_vhea  FT_MAKE_TAG( 'v', 'h', 'e', 'a' )
 #define TTAG_vmtx  FT_MAKE_TAG( 'v', 'm', 't', 'x' )
+
+#ifdef __cplusplus
+  }
+#endif
+
 
 #endif /* TTAGS_H */
 
--- a/src/autohint/ahangles.h
+++ b/src/autohint/ahangles.h
@@ -38,6 +38,11 @@
 #include <freetype/internal/ftobjs.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /* PI expressed in ah_angles -- we don't really need an important */
   /* precision, so 256 should be enough                             */
 #define AH_PI       256
@@ -55,6 +60,11 @@
 
   LOCAL_DEF
   AH_Angle  ah_angle( FT_Vector*  v );
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* AHANGLES_H */
--- a/src/autohint/ahglobal.h
+++ b/src/autohint/ahglobal.h
@@ -37,6 +37,11 @@
 #include <freetype/internal/ftobjs.h>  /* for LOCAL_DEF/LOCAL_FUNC */
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
 #define AH_IS_TOP_BLUE( b )  ( (b) == ah_blue_capital_top || \
                                (b) == ah_blue_small_top   )
 
@@ -44,6 +49,11 @@
   /* compute global metrics automatically */
   LOCAL_DEF
   FT_Error  ah_hinter_compute_globals( AH_Hinter*  hinter );
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* AHGLOBAL_H */
--- a/src/autohint/ahglyph.h
+++ b/src/autohint/ahglyph.h
@@ -34,6 +34,11 @@
 #endif
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   typedef enum  AH_UV_
   {
     ah_uv_fxy,
@@ -85,6 +90,11 @@
 
   LOCAL_DEF
   void  ah_outline_done( AH_Outline*  outline );
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* AHGLYPH_H */
--- a/src/autohint/ahhint.h
+++ b/src/autohint/ahhint.h
@@ -34,6 +34,11 @@
 #endif
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
 #define AH_HINT_DEFAULT        0
 #define AH_HINT_NO_ALIGNMENT   1
 #define AH_HINT_NO_HORZ_EDGES  0x20000L
@@ -64,6 +69,11 @@
 
   void  ah_hinter_done_global_hints( AH_Hinter*  hinter,
                                      void*       global_hints );
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* AHHINT_H */
--- a/src/autohint/ahloader.h
+++ b/src/autohint/ahloader.h
@@ -36,6 +36,11 @@
 #define AHLOADER_H
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
 #ifdef _STANDALONE_
 
   typedef struct  AH_GlyphLoad_
@@ -117,6 +122,12 @@
   #define ah_loader_copy_points      FT_GlyphLoader_Copy_Points
 
 #endif /* _STANDALONE_ */
+
+
+#ifdef __cplusplus
+  }
+#endif
+
 
 #endif /* AHLOADER_H */
 
--- a/src/autohint/ahmodule.h
+++ b/src/autohint/ahmodule.h
@@ -24,7 +24,18 @@
 
 #include <freetype/ftmodule.h>
 
+
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   FT_EXPORT_VAR( const FT_Module_Class )  autohint_module_class;
+
+#ifdef __cplusplus
+  }
+#endif
+
 
 #endif /* AHMODULE_H */
 
--- a/src/autohint/ahoptim.h
+++ b/src/autohint/ahoptim.h
@@ -34,6 +34,11 @@
 #endif
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /* the maximal number of stem configurations to record */
   /* during optimization                                 */
 #define AH_MAX_CONFIGS  8
@@ -128,6 +133,11 @@
 
   /* release the optimization data */
   void AH_Optimizer_Done( AH_Optimizer*  optimizer );
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* AHOPTIM_H */
--- a/src/autohint/ahtypes.h
+++ b/src/autohint/ahtypes.h
@@ -54,6 +54,11 @@
 #endif
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   /*************************************************************************/
   /*************************************************************************/
   /*************************************************************************/
@@ -484,6 +489,11 @@
     FT_Vector         pp2;
 
   } AH_Hinter;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* AHTYPES_H */
--- a/src/cff/t2driver.h
+++ b/src/cff/t2driver.h
@@ -21,7 +21,17 @@
 
 #include <freetype/internal/ftdriver.h>
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   FT_EXPORT_VAR( const FT_Driver_Class )  cff_driver_class;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* T2DRIVER_H */
--- a/src/cid/cidriver.h
+++ b/src/cid/cidriver.h
@@ -21,7 +21,17 @@
 
 #include <freetype/internal/ftdriver.h>
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   FT_EXPORT_VAR( const  FT_Driver_Class )  t1cid_driver_class;
+
+#ifdef __cplusplus
+  }
+#endif
+
 
 #endif /* CIDRIVER_H */
 
--- a/src/psnames/psmodule.h
+++ b/src/psnames/psmodule.h
@@ -21,7 +21,18 @@
 
 #include <freetype/ftmodule.h>
 
+
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   FT_EXPORT_VAR( const FT_Module_Class )  psnames_module_class;
+
+#ifdef __cplusplus
+  }
+#endif
+
 
 #endif /* PSDRIVER_H */
 
--- a/src/raster1/ftrend1.h
+++ b/src/raster1/ftrend1.h
@@ -19,9 +19,15 @@
 #ifndef FTREND1_H
 #define FTREND1_H
 
+
 #include <freetype/ftrender.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   FT_EXPORT_VAR( const FT_Renderer_Class )  ft_raster1_renderer_class;
 
   /* this renderer is _NOT_ part of the default modules, you'll need */
@@ -29,6 +35,11 @@
   /* used for backwards-compatibility with FT 1.x anyway.            */
   /*                                                                 */
   FT_EXPORT_VAR( const FT_Renderer_Class )  ft_raster5_renderer_class;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* FTREND1_H */
--- a/src/sfnt/sfdriver.h
+++ b/src/sfnt/sfdriver.h
@@ -21,7 +21,18 @@
 
 #include <freetype/ftmodule.h>
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   FT_EXPORT_VAR( const FT_Module_Class )  sfnt_module_class;
+
+
+#ifdef __cplusplus
+  }
+#endif
+
 
 #endif /* SFDRIVER_H */
 
--- a/src/smooth/ftsmooth.h
+++ b/src/smooth/ftsmooth.h
@@ -21,6 +21,12 @@
 
 #include <freetype/ftrender.h>
 
+
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
 #ifndef FT_CONFIG_OPTION_NO_STD_RASTER
   FT_EXPORT_VAR( const FT_Renderer_Class )  ft_std_renderer_class;
 #endif
@@ -28,6 +34,11 @@
 #ifndef FT_CONFIG_OPTION_NO_SMOOTH_RASTER
   FT_EXPORT_VAR( const FT_Renderer_Class )  ft_smooth_renderer_class;
 #endif
+
+#ifdef __cplusplus
+  }
+#endif
+
 
 #endif /* FTSMOOTH_H */
 
--- a/src/truetype/ttdriver.h
+++ b/src/truetype/ttdriver.h
@@ -22,7 +22,17 @@
 #include <freetype/internal/ftdriver.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   FT_EXPORT_VAR( const FT_Driver_Class )  tt_driver_class;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* TTDRIVER_H */
--- a/src/type1/t1driver.h
+++ b/src/type1/t1driver.h
@@ -21,7 +21,17 @@
 
 #include <freetype/internal/ftdriver.h>
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   FT_EXPORT_VAR( const  FT_Driver_Class )  t1_driver_class;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* T1DRIVER_H */
--- a/src/type1z/z1driver.h
+++ b/src/type1z/z1driver.h
@@ -21,7 +21,17 @@
 
 #include <freetype/internal/ftdriver.h>
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   FT_EXPORT_VAR( const  FT_Driver_Class )  t1_driver_class;
+
+#ifdef __cplusplus
+  }
+#endif
+
 
 #endif /* Z1DRIVER_H */
 
--- a/src/winfonts/winfnt.h
+++ b/src/winfonts/winfnt.h
@@ -22,6 +22,11 @@
 #include <freetype/internal/ftdriver.h>
 
 
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+
   typedef struct  WinMZ_Header_
   {
     FT_UShort  magic;
@@ -142,6 +147,11 @@
 
 
   FT_EXPORT_VAR( const FT_Driver_Class )  winfnt_driver_class;
+
+
+#ifdef __cplusplus
+  }
+#endif
 
 
 #endif /* WINFNT_H */