Subversion Repositories Kolibri OS

Rev

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

  1. /***************************************************************************/
  2. /*                                                                         */
  3. /*  ftgzip.h                                                               */
  4. /*                                                                         */
  5. /*    Gzip-compressed stream support.                                      */
  6. /*                                                                          */
  7. /*  Copyright 2002, 2003, 2004, 2006 by                                    */
  8. /*  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. /***************************************************************************/
  17.  
  18.  
  19. #ifndef __FTGZIP_H__
  20. #define __FTGZIP_H__
  21.  
  22. #include <ft2build.h>
  23. #include FT_FREETYPE_H
  24.  
  25. #ifdef FREETYPE_H
  26. #error "freetype.h of FreeType 1 has been loaded!"
  27. #error "Please fix the directory search order for header files"
  28. #error "so that freetype.h of FreeType 2 is found first."
  29. #endif
  30.  
  31.  
  32. FT_BEGIN_HEADER
  33.  
  34.   /*************************************************************************/
  35.   /*                                                                       */
  36.   /* <Section>                                                             */
  37.   /*    gzip                                                               */
  38.   /*                                                                       */
  39.   /* <Title>                                                               */
  40.   /*    GZIP Streams                                                       */
  41.   /*                                                                       */
  42.   /* <Abstract>                                                            */
  43.   /*    Using gzip-compressed font files.                                  */
  44.   /*                                                                       */
  45.   /* <Description>                                                         */
  46.   /*    This section contains the declaration of Gzip-specific functions.  */
  47.   /*                                                                       */
  48.   /*************************************************************************/
  49.  
  50.  
  51.  /************************************************************************
  52.   *
  53.   * @function:
  54.   *   FT_Stream_OpenGzip
  55.   *
  56.   * @description:
  57.   *   Open a new stream to parse gzip-compressed font files.  This is
  58.   *   mainly used to support the compressed `*.pcf.gz' fonts that come
  59.   *   with XFree86.
  60.   *
  61.   * @input:
  62.   *   stream ::
  63.   *     The target embedding stream.
  64.   *
  65.   *   source ::
  66.   *     The source stream.
  67.   *
  68.   * @return:
  69.   *   FreeType error code.  0~means success.
  70.   *
  71.   * @note:
  72.   *   The source stream must be opened _before_ calling this function.
  73.   *
  74.   *   Calling the internal function `FT_Stream_Close' on the new stream will
  75.   *   *not* call `FT_Stream_Close' on the source stream.  None of the stream
  76.   *   objects will be released to the heap.
  77.   *
  78.   *   The stream implementation is very basic and resets the decompression
  79.   *   process each time seeking backwards is needed within the stream.
  80.   *
  81.   *   In certain builds of the library, gzip compression recognition is
  82.   *   automatically handled when calling @FT_New_Face or @FT_Open_Face.
  83.   *   This means that if no font driver is capable of handling the raw
  84.   *   compressed file, the library will try to open a gzipped stream from
  85.   *   it and re-open the face with it.
  86.   *
  87.   *   This function may return `FT_Err_Unimplemented_Feature' if your build
  88.   *   of FreeType was not compiled with zlib support.
  89.   */
  90.   FT_EXPORT( FT_Error )
  91.   FT_Stream_OpenGzip( FT_Stream  stream,
  92.                       FT_Stream  source );
  93.  
  94.  /* */
  95.  
  96.  
  97. FT_END_HEADER
  98.  
  99. #endif /* __FTGZIP_H__ */
  100.  
  101.  
  102. /* END */
  103.