Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-11-15 09:38:11

0001 /****************************************************************************
0002  *
0003  * ftbzip2.h
0004  *
0005  *   Bzip2-compressed stream support.
0006  *
0007  * Copyright (C) 2010-2023 by
0008  * Joel Klinghed.
0009  *
0010  * This file is part of the FreeType project, and may only be used,
0011  * modified, and distributed under the terms of the FreeType project
0012  * license, LICENSE.TXT.  By continuing to use, modify, or distribute
0013  * this file you indicate that you have read the license and
0014  * understand and accept it fully.
0015  *
0016  */
0017 
0018 
0019 #ifndef FTBZIP2_H_
0020 #define FTBZIP2_H_
0021 
0022 #include <freetype/freetype.h>
0023 
0024 #ifdef FREETYPE_H
0025 #error "freetype.h of FreeType 1 has been loaded!"
0026 #error "Please fix the directory search order for header files"
0027 #error "so that freetype.h of FreeType 2 is found first."
0028 #endif
0029 
0030 
0031 FT_BEGIN_HEADER
0032 
0033   /**************************************************************************
0034    *
0035    * @section:
0036    *   bzip2
0037    *
0038    * @title:
0039    *   BZIP2 Streams
0040    *
0041    * @abstract:
0042    *   Using bzip2-compressed font files.
0043    *
0044    * @description:
0045    *   In certain builds of the library, bzip2 compression recognition is
0046    *   automatically handled when calling @FT_New_Face or @FT_Open_Face.
0047    *   This means that if no font driver is capable of handling the raw
0048    *   compressed file, the library will try to open a bzip2 compressed
0049    *   stream from it and re-open the face with it.
0050    *
0051    *   The stream implementation is very basic and resets the decompression
0052    *   process each time seeking backwards is needed within the stream,
0053    *   which significantly undermines the performance.
0054    *
0055    *   This section contains the declaration of Bzip2-specific functions.
0056    *
0057    */
0058 
0059 
0060   /**************************************************************************
0061    *
0062    * @function:
0063    *   FT_Stream_OpenBzip2
0064    *
0065    * @description:
0066    *   Open a new stream to parse bzip2-compressed font files.  This is
0067    *   mainly used to support the compressed `*.pcf.bz2` fonts that come with
0068    *   XFree86.
0069    *
0070    * @input:
0071    *   stream ::
0072    *     The target embedding stream.
0073    *
0074    *   source ::
0075    *     The source stream.
0076    *
0077    * @return:
0078    *   FreeType error code.  0~means success.
0079    *
0080    * @note:
0081    *   The source stream must be opened _before_ calling this function.
0082    *
0083    *   Calling the internal function `FT_Stream_Close` on the new stream will
0084    *   **not** call `FT_Stream_Close` on the source stream.  None of the
0085    *   stream objects will be released to the heap.
0086    *
0087    *   This function may return `FT_Err_Unimplemented_Feature` if your build
0088    *   of FreeType was not compiled with bzip2 support.
0089    */
0090   FT_EXPORT( FT_Error )
0091   FT_Stream_OpenBzip2( FT_Stream  stream,
0092                        FT_Stream  source );
0093 
0094   /* */
0095 
0096 
0097 FT_END_HEADER
0098 
0099 #endif /* FTBZIP2_H_ */
0100 
0101 
0102 /* END */