Improve bzip2 support.

* include/freetype/ftmoderr.h: Add bzip2.

* docs/INSTALL.ANY, docs/CHANGES: Updated.

* src/pcf/README: Updated.
* include/freetype/internal/pcftypes.h: Obsolete, removed.
This commit is contained in:
Werner Lemberg 2010-12-31 17:47:09 +01:00
parent ed913c2151
commit fe42a65317
8 changed files with 51 additions and 98 deletions

View File

@ -1,3 +1,14 @@
2010-12-31 Werner Lemberg <wl@gnu.org>
Improve bzip2 support.
* include/freetype/ftmoderr.h: Add bzip2.
* docs/INSTALL.ANY, docs/CHANGES: Updated.
* src/pcf/README: Updated.
* include/freetype/internal/pcftypes.h: Obsolete, removed.
2010-12-31 Joel Klinghed <the_jk@yahoo.com>
Add bzip2 compression support to handle *.pcf.bz2 files.

View File

@ -1,3 +1,12 @@
CHANGES BETWEEN 2.4.4 and 2.4.5
I. MISCELLANEOUS
- Support for PCF files compressed with bzip2 has been contributed
by Joel Klinghed. To make this work, the OS must provide a
bzip2 library.
======================================================================
CHANGES BETWEEN 2.4.3 and 2.4.4

View File

@ -81,6 +81,7 @@ I. Standard procedure
src/cache/ftcache.c -- cache sub-system (in beta)
src/gzip/ftgzip.c -- support for compressed fonts (.gz)
src/lzw/ftlzw.c -- support for compressed fonts (.Z)
src/bzip2/ftbzip2.c -- support for compressed fonts (.bz2)
src/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation
src/otvalid/otvalid.c -- OpenType table validation
src/psaux/psaux.c -- PostScript Type 1 parsing
@ -102,6 +103,10 @@ I. Standard procedure
`type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
`type42.c' needs `truetype.c'
To use `ftbzip2.c', an application must be linked with a library
which implements bzip2 support (and the bzip2 header files must
be available also during compilation).
Read the file `CUSTOMIZE' in case you want to compile only a subset
of the drivers, renderers, and optional modules; a detailed

View File

@ -55,7 +55,7 @@ FT_BEGIN_HEADER
*
* @description:
* Open a new stream to parse bzip2-compressed font files. This is
* mainly used to support the compressed `*.pcf.gz' fonts that come
* mainly used to support the compressed `*.pcf.bz2' fonts that come
* with XFree86.
*
* @input:

View File

@ -98,6 +98,7 @@
/* module_management */
/* gzip */
/* lzw */
/* bzip2 */
/* lcd_filtering */
/* */
/***************************************************************************/

View File

@ -4,7 +4,7 @@
/* */
/* FreeType module error offsets (specification). */
/* */
/* Copyright 2001, 2002, 2003, 2004, 2005 by */
/* Copyright 2001, 2002, 2003, 2004, 2005, 2010 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -105,24 +105,25 @@
FT_MODERRDEF( Base, 0x000, "base module" )
FT_MODERRDEF( Autofit, 0x100, "autofitter module" )
FT_MODERRDEF( BDF, 0x200, "BDF module" )
FT_MODERRDEF( Cache, 0x300, "cache module" )
FT_MODERRDEF( CFF, 0x400, "CFF module" )
FT_MODERRDEF( CID, 0x500, "CID module" )
FT_MODERRDEF( Gzip, 0x600, "Gzip module" )
FT_MODERRDEF( LZW, 0x700, "LZW module" )
FT_MODERRDEF( OTvalid, 0x800, "OpenType validation module" )
FT_MODERRDEF( PCF, 0x900, "PCF module" )
FT_MODERRDEF( PFR, 0xA00, "PFR module" )
FT_MODERRDEF( PSaux, 0xB00, "PS auxiliary module" )
FT_MODERRDEF( PShinter, 0xC00, "PS hinter module" )
FT_MODERRDEF( PSnames, 0xD00, "PS names module" )
FT_MODERRDEF( Raster, 0xE00, "raster module" )
FT_MODERRDEF( SFNT, 0xF00, "SFNT module" )
FT_MODERRDEF( Smooth, 0x1000, "smooth raster module" )
FT_MODERRDEF( TrueType, 0x1100, "TrueType module" )
FT_MODERRDEF( Type1, 0x1200, "Type 1 module" )
FT_MODERRDEF( Type42, 0x1300, "Type 42 module" )
FT_MODERRDEF( Winfonts, 0x1400, "Windows FON/FNT module" )
FT_MODERRDEF( Bzip2, 0x300, "Bzip2 module" )
FT_MODERRDEF( Cache, 0x400, "cache module" )
FT_MODERRDEF( CFF, 0x500, "CFF module" )
FT_MODERRDEF( CID, 0x600, "CID module" )
FT_MODERRDEF( Gzip, 0x700, "Gzip module" )
FT_MODERRDEF( LZW, 0x800, "LZW module" )
FT_MODERRDEF( OTvalid, 0x900, "OpenType validation module" )
FT_MODERRDEF( PCF, 0xA00, "PCF module" )
FT_MODERRDEF( PFR, 0xB00, "PFR module" )
FT_MODERRDEF( PSaux, 0xC00, "PS auxiliary module" )
FT_MODERRDEF( PShinter, 0xD00, "PS hinter module" )
FT_MODERRDEF( PSnames, 0xE00, "PS names module" )
FT_MODERRDEF( Raster, 0xF00, "raster module" )
FT_MODERRDEF( SFNT, 0x1000, "SFNT module" )
FT_MODERRDEF( Smooth, 0x1100, "smooth raster module" )
FT_MODERRDEF( TrueType, 0x1200, "TrueType module" )
FT_MODERRDEF( Type1, 0x1300, "Type 1 module" )
FT_MODERRDEF( Type42, 0x1400, "Type 42 module" )
FT_MODERRDEF( Winfonts, 0x1500, "Windows FON/FNT module" )
#ifdef FT_MODERR_END_LIST

View File

@ -1,56 +0,0 @@
/* pcftypes.h
FreeType font driver for pcf fonts
Copyright (C) 2000, 2001, 2002 by
Francesco Zappa Nardelli
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
#ifndef __PCFTYPES_H__
#define __PCFTYPES_H__
#include <ft2build.h>
#include FT_FREETYPE_H
FT_BEGIN_HEADER
typedef struct PCF_Public_FaceRec_
{
FT_FaceRec root;
FT_StreamRec gzip_stream;
FT_Stream gzip_source;
char* charset_encoding;
char* charset_registry;
} PCF_Public_FaceRec, *PCF_Public_Face;
FT_END_HEADER
#endif /* __PCFTYPES_H__ */
/* END */

View File

@ -31,29 +31,11 @@ on linux/alpha.
Encodings
*********
The variety of encodings that accompanies pcf fonts appears to encompass the
small set defined in freetype.h. On the other hand, each pcf font defines
two properties that specify encoding and registry.
Use `FT_Get_BDF_Charset_ID' to access the encoding and registry.
I decided to make these two properties directly accessible, leaving to the
client application the work of interpreting them. For instance:
#include "pcftypes.h" /* include/freetype/internal/pcftypes.h */
FT_Face face;
PCF_Public_Face pcfface;
FT_New_Face( library,..., &face );
pcfface = (PCF_Public_Face)face;
if ((pcfface->charset_registry == "ISO10646") &&
(pcfface->charset_encoding) == "1")) [..]
Thus the driver always export `ft_encoding_none' as
face->charmap.encoding. FT_Get_Char_Index() behavior is unmodified, that
is, it converts the ULong value given as argument into the corresponding
glyph number.
The driver always exports `ft_encoding_none' as face->charmap.encoding.
FT_Get_Char_Index() behavior is unmodified, that is, it converts the ULong
value given as argument into the corresponding glyph number.
Known problems