nuclear@0: /***************************************************************************/ nuclear@0: /* */ nuclear@0: /* ftlzw.h */ nuclear@0: /* */ nuclear@0: /* LZW-compressed stream support. */ nuclear@0: /* */ nuclear@0: /* Copyright 2004, 2006 by */ nuclear@0: /* David Turner, Robert Wilhelm, and Werner Lemberg. */ nuclear@0: /* */ nuclear@0: /* This file is part of the FreeType project, and may only be used, */ nuclear@0: /* modified, and distributed under the terms of the FreeType project */ nuclear@0: /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ nuclear@0: /* this file you indicate that you have read the license and */ nuclear@0: /* understand and accept it fully. */ nuclear@0: /* */ nuclear@0: /***************************************************************************/ nuclear@0: nuclear@0: nuclear@0: #ifndef __FTLZW_H__ nuclear@0: #define __FTLZW_H__ nuclear@0: nuclear@0: #include nuclear@0: #include FT_FREETYPE_H nuclear@0: nuclear@0: #ifdef FREETYPE_H nuclear@0: #error "freetype.h of FreeType 1 has been loaded!" nuclear@0: #error "Please fix the directory search order for header files" nuclear@0: #error "so that freetype.h of FreeType 2 is found first." nuclear@0: #endif nuclear@0: nuclear@0: nuclear@0: FT_BEGIN_HEADER nuclear@0: nuclear@0: /*************************************************************************/ nuclear@0: /* */ nuclear@0: /*
*/ nuclear@0: /* lzw */ nuclear@0: /* */ nuclear@0: /* */ nuclear@0: /* LZW Streams */ nuclear@0: /* */ nuclear@0: /* <Abstract> */ nuclear@0: /* Using LZW-compressed font files. */ nuclear@0: /* */ nuclear@0: /* <Description> */ nuclear@0: /* This section contains the declaration of LZW-specific functions. */ nuclear@0: /* */ nuclear@0: /*************************************************************************/ nuclear@0: nuclear@0: /************************************************************************ nuclear@0: * nuclear@0: * @function: nuclear@0: * FT_Stream_OpenLZW nuclear@0: * nuclear@0: * @description: nuclear@0: * Open a new stream to parse LZW-compressed font files. This is nuclear@0: * mainly used to support the compressed `*.pcf.Z' fonts that come nuclear@0: * with XFree86. nuclear@0: * nuclear@0: * @input: nuclear@0: * stream :: The target embedding stream. nuclear@0: * nuclear@0: * source :: The source stream. nuclear@0: * nuclear@0: * @return: nuclear@0: * FreeType error code. 0~means success. nuclear@0: * nuclear@0: * @note: nuclear@0: * The source stream must be opened _before_ calling this function. nuclear@0: * nuclear@0: * Calling the internal function `FT_Stream_Close' on the new stream will nuclear@0: * *not* call `FT_Stream_Close' on the source stream. None of the stream nuclear@0: * objects will be released to the heap. nuclear@0: * nuclear@0: * The stream implementation is very basic and resets the decompression nuclear@0: * process each time seeking backwards is needed within the stream nuclear@0: * nuclear@0: * In certain builds of the library, LZW compression recognition is nuclear@0: * automatically handled when calling @FT_New_Face or @FT_Open_Face. nuclear@0: * This means that if no font driver is capable of handling the raw nuclear@0: * compressed file, the library will try to open a LZW stream from it nuclear@0: * and re-open the face with it. nuclear@0: * nuclear@0: * This function may return `FT_Err_Unimplemented_Feature' if your build nuclear@0: * of FreeType was not compiled with LZW support. nuclear@0: */ nuclear@0: FT_EXPORT( FT_Error ) nuclear@0: FT_Stream_OpenLZW( FT_Stream stream, nuclear@0: FT_Stream source ); nuclear@0: nuclear@0: /* */ nuclear@0: nuclear@0: nuclear@0: FT_END_HEADER nuclear@0: nuclear@0: #endif /* __FTLZW_H__ */ nuclear@0: nuclear@0: nuclear@0: /* END */