ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

pfrload.h
Go to the documentation of this file.
00001 /***************************************************************************/
00002 /*                                                                         */
00003 /*  pfrload.h                                                              */
00004 /*                                                                         */
00005 /*    FreeType PFR loader (specification).                                 */
00006 /*                                                                         */
00007 /*  Copyright 2002 by                                                      */
00008 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
00009 /*                                                                         */
00010 /*  This file is part of the FreeType project, and may only be used,       */
00011 /*  modified, and distributed under the terms of the FreeType project      */
00012 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
00013 /*  this file you indicate that you have read the license and              */
00014 /*  understand and accept it fully.                                        */
00015 /*                                                                         */
00016 /***************************************************************************/
00017 
00018 
00019 #ifndef __PFRLOAD_H__
00020 #define __PFRLOAD_H__
00021 
00022 #include "pfrobjs.h"
00023 #include FT_INTERNAL_STREAM_H
00024 
00025 
00026 FT_BEGIN_HEADER
00027 
00028 #ifdef PFR_CONFIG_NO_CHECKS
00029 #define PFR_CHECK( x )  do { } while ( 0 )
00030 #else
00031 #define PFR_CHECK( x )  do                       \
00032                         {                        \
00033                           if ( p + (x) > limit ) \
00034                             goto Too_Short;      \
00035                         } while ( 0 )
00036 #endif
00037 
00038 #define PFR_NEXT_BYTE( p )    FT_NEXT_BYTE( p )
00039 #define PFR_NEXT_INT8( p )    FT_NEXT_CHAR( p )
00040 #define PFR_NEXT_SHORT( p )   FT_NEXT_SHORT( p )
00041 #define PFR_NEXT_USHORT( p )  FT_NEXT_USHORT( p )
00042 #define PFR_NEXT_LONG( p )    FT_NEXT_OFF3( p )
00043 #define PFR_NEXT_ULONG( p )   FT_NEXT_UOFF3( p )
00044 
00045 
00046  /* handling extra items */
00047 
00048   typedef FT_Error
00049   (*PFR_ExtraItem_ParseFunc)( FT_Byte*    p,
00050                               FT_Byte*    limit,
00051                               FT_Pointer  data );
00052 
00053   typedef struct  PFR_ExtraItemRec_
00054   {
00055     FT_UInt                  type;
00056     PFR_ExtraItem_ParseFunc  parser;
00057 
00058   } PFR_ExtraItemRec;
00059 
00060   typedef const struct PFR_ExtraItemRec_*  PFR_ExtraItem;
00061 
00062 
00063   FT_LOCAL( FT_Error )
00064   pfr_extra_items_skip( FT_Byte*  *pp,
00065                         FT_Byte*  limit );
00066 
00067   FT_LOCAL( FT_Error )
00068   pfr_extra_items_parse( FT_Byte*      *pp,
00069                          FT_Byte*       limit,
00070                          PFR_ExtraItem  item_list,
00071                          FT_Pointer     item_data );
00072 
00073 
00074   /* load a PFR header */
00075   FT_LOCAL( FT_Error )
00076   pfr_header_load( PFR_Header  header,
00077                    FT_Stream   stream );
00078 
00079   /* check a PFR header */
00080   FT_LOCAL( FT_Bool )
00081   pfr_header_check( PFR_Header  header );
00082 
00083 
00084   /* return number of logical fonts in this file */
00085   FT_LOCAL( FT_Error )
00086   pfr_log_font_count( FT_Stream   stream,
00087                       FT_UInt32   log_section_offset,
00088                       FT_UInt    *acount );
00089 
00090   /* load a pfr logical font entry */
00091   FT_LOCAL( FT_Error )
00092   pfr_log_font_load( PFR_LogFont  log_font,
00093                      FT_Stream    stream,
00094                      FT_UInt      face_index,
00095                      FT_UInt32    section_offset,
00096                      FT_Bool      size_increment );
00097 
00098 
00099   /* load a physical font entry */
00100   FT_LOCAL( FT_Error )
00101   pfr_phy_font_load( PFR_PhyFont  phy_font,
00102                      FT_Stream    stream,
00103                      FT_UInt32    offset,
00104                      FT_UInt32    size );
00105 
00106   /* finalize a physical font */
00107   FT_LOCAL( void )
00108   pfr_phy_font_done( PFR_PhyFont  phy_font,
00109                      FT_Memory    memory );
00110 
00111   /* */
00112 
00113 FT_END_HEADER
00114 
00115 #endif /* __PFRLOAD_H__ */
00116 
00117 
00118 /* END */

Generated on Sat May 26 2012 04:32:46 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.