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:
parent
ed913c2151
commit
fe42a65317
11
ChangeLog
11
ChangeLog
|
@ -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>
|
2010-12-31 Joel Klinghed <the_jk@yahoo.com>
|
||||||
|
|
||||||
Add bzip2 compression support to handle *.pcf.bz2 files.
|
Add bzip2 compression support to handle *.pcf.bz2 files.
|
||||||
|
|
|
@ -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
|
CHANGES BETWEEN 2.4.3 and 2.4.4
|
||||||
|
|
|
@ -81,6 +81,7 @@ I. Standard procedure
|
||||||
src/cache/ftcache.c -- cache sub-system (in beta)
|
src/cache/ftcache.c -- cache sub-system (in beta)
|
||||||
src/gzip/ftgzip.c -- support for compressed fonts (.gz)
|
src/gzip/ftgzip.c -- support for compressed fonts (.gz)
|
||||||
src/lzw/ftlzw.c -- support for compressed fonts (.Z)
|
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/gxvalid/gxvalid.c -- TrueTypeGX/AAT table validation
|
||||||
src/otvalid/otvalid.c -- OpenType table validation
|
src/otvalid/otvalid.c -- OpenType table validation
|
||||||
src/psaux/psaux.c -- PostScript Type 1 parsing
|
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'
|
`type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
|
||||||
`type42.c' needs `truetype.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
|
Read the file `CUSTOMIZE' in case you want to compile only a subset
|
||||||
of the drivers, renderers, and optional modules; a detailed
|
of the drivers, renderers, and optional modules; a detailed
|
||||||
|
|
|
@ -55,7 +55,7 @@ FT_BEGIN_HEADER
|
||||||
*
|
*
|
||||||
* @description:
|
* @description:
|
||||||
* Open a new stream to parse bzip2-compressed font files. This is
|
* 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.
|
* with XFree86.
|
||||||
*
|
*
|
||||||
* @input:
|
* @input:
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
/* module_management */
|
/* module_management */
|
||||||
/* gzip */
|
/* gzip */
|
||||||
/* lzw */
|
/* lzw */
|
||||||
|
/* bzip2 */
|
||||||
/* lcd_filtering */
|
/* lcd_filtering */
|
||||||
/* */
|
/* */
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* FreeType module error offsets (specification). */
|
/* 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. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* 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( Base, 0x000, "base module" )
|
||||||
FT_MODERRDEF( Autofit, 0x100, "autofitter module" )
|
FT_MODERRDEF( Autofit, 0x100, "autofitter module" )
|
||||||
FT_MODERRDEF( BDF, 0x200, "BDF module" )
|
FT_MODERRDEF( BDF, 0x200, "BDF module" )
|
||||||
FT_MODERRDEF( Cache, 0x300, "cache module" )
|
FT_MODERRDEF( Bzip2, 0x300, "Bzip2 module" )
|
||||||
FT_MODERRDEF( CFF, 0x400, "CFF module" )
|
FT_MODERRDEF( Cache, 0x400, "cache module" )
|
||||||
FT_MODERRDEF( CID, 0x500, "CID module" )
|
FT_MODERRDEF( CFF, 0x500, "CFF module" )
|
||||||
FT_MODERRDEF( Gzip, 0x600, "Gzip module" )
|
FT_MODERRDEF( CID, 0x600, "CID module" )
|
||||||
FT_MODERRDEF( LZW, 0x700, "LZW module" )
|
FT_MODERRDEF( Gzip, 0x700, "Gzip module" )
|
||||||
FT_MODERRDEF( OTvalid, 0x800, "OpenType validation module" )
|
FT_MODERRDEF( LZW, 0x800, "LZW module" )
|
||||||
FT_MODERRDEF( PCF, 0x900, "PCF module" )
|
FT_MODERRDEF( OTvalid, 0x900, "OpenType validation module" )
|
||||||
FT_MODERRDEF( PFR, 0xA00, "PFR module" )
|
FT_MODERRDEF( PCF, 0xA00, "PCF module" )
|
||||||
FT_MODERRDEF( PSaux, 0xB00, "PS auxiliary module" )
|
FT_MODERRDEF( PFR, 0xB00, "PFR module" )
|
||||||
FT_MODERRDEF( PShinter, 0xC00, "PS hinter module" )
|
FT_MODERRDEF( PSaux, 0xC00, "PS auxiliary module" )
|
||||||
FT_MODERRDEF( PSnames, 0xD00, "PS names module" )
|
FT_MODERRDEF( PShinter, 0xD00, "PS hinter module" )
|
||||||
FT_MODERRDEF( Raster, 0xE00, "raster module" )
|
FT_MODERRDEF( PSnames, 0xE00, "PS names module" )
|
||||||
FT_MODERRDEF( SFNT, 0xF00, "SFNT module" )
|
FT_MODERRDEF( Raster, 0xF00, "raster module" )
|
||||||
FT_MODERRDEF( Smooth, 0x1000, "smooth raster module" )
|
FT_MODERRDEF( SFNT, 0x1000, "SFNT module" )
|
||||||
FT_MODERRDEF( TrueType, 0x1100, "TrueType module" )
|
FT_MODERRDEF( Smooth, 0x1100, "smooth raster module" )
|
||||||
FT_MODERRDEF( Type1, 0x1200, "Type 1 module" )
|
FT_MODERRDEF( TrueType, 0x1200, "TrueType module" )
|
||||||
FT_MODERRDEF( Type42, 0x1300, "Type 42 module" )
|
FT_MODERRDEF( Type1, 0x1300, "Type 1 module" )
|
||||||
FT_MODERRDEF( Winfonts, 0x1400, "Windows FON/FNT module" )
|
FT_MODERRDEF( Type42, 0x1400, "Type 42 module" )
|
||||||
|
FT_MODERRDEF( Winfonts, 0x1500, "Windows FON/FNT module" )
|
||||||
|
|
||||||
|
|
||||||
#ifdef FT_MODERR_END_LIST
|
#ifdef FT_MODERR_END_LIST
|
||||||
|
|
|
@ -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 */
|
|
|
@ -31,29 +31,11 @@ on linux/alpha.
|
||||||
Encodings
|
Encodings
|
||||||
*********
|
*********
|
||||||
|
|
||||||
The variety of encodings that accompanies pcf fonts appears to encompass the
|
Use `FT_Get_BDF_Charset_ID' to access the encoding and registry.
|
||||||
small set defined in freetype.h. On the other hand, each pcf font defines
|
|
||||||
two properties that specify encoding and registry.
|
|
||||||
|
|
||||||
I decided to make these two properties directly accessible, leaving to the
|
The driver always exports `ft_encoding_none' as face->charmap.encoding.
|
||||||
client application the work of interpreting them. For instance:
|
FT_Get_Char_Index() behavior is unmodified, that is, it converts the ULong
|
||||||
|
value given as argument into the corresponding glyph number.
|
||||||
#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.
|
|
||||||
|
|
||||||
|
|
||||||
Known problems
|
Known problems
|
||||||
|
|
Loading…
Reference in New Issue