* src/bdf/descrip.mms, src/type42/descrip.mms: New files.
* descrip.mms (all): Updated. * src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented compilation. * src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
This commit is contained in:
parent
d490e3734d
commit
5bbb494008
23
ChangeLog
23
ChangeLog
@ -1,3 +1,12 @@
|
||||
2002-05-29 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/bdf/descrip.mms, src/type42/descrip.mms: New files.
|
||||
* descrip.mms (all): Updated.
|
||||
|
||||
* src/bdf/bdflib.c (_bdf_parse_glyphs): Fix typo which prevented
|
||||
compilation.
|
||||
* src/pshglob.c (psh_blues_scale_zones): Fix compiler warning.
|
||||
|
||||
2002-05-28 Detlef Würkner <TetiSoft@apg.lahn.de>
|
||||
|
||||
* builds/amiga/makefile, builds/amiga/smakefile,
|
||||
@ -8,16 +17,16 @@
|
||||
|
||||
2005-05-28 David Turner <david@freetype.org>
|
||||
|
||||
* docs/CHANGES: updating file for upcoming release (2.1.1)
|
||||
* docs/CHANGES: Updating file for next release (2.1.1).
|
||||
|
||||
* src/bdf/bdflib.c: removing compiler warnings
|
||||
* src/bdf/bdflib.c: Removing compiler warnings.
|
||||
|
||||
* include/freetype/ftxf86.h, src/base/ftxf86.c: New files.
|
||||
They provad a new API (FT_Get_X11_Font_Format) an X11-compatible
|
||||
string describing the font format of a given face. This was put in
|
||||
a new optional base source file, corresponding to a new public
|
||||
header (named FT_XFREE86_H since this function should only be used
|
||||
within the XFree86 font server IMO).
|
||||
They provide a new API (FT_Get_X11_Font_Format) to retrieve an
|
||||
X11-compatible string describing the font format of a given face.
|
||||
This was put in a new optional base source file, corresponding to a
|
||||
new public header (named FT_XFREE86_H since this function should
|
||||
only be used within the XFree86 font server IMO).
|
||||
|
||||
* include/freetype/config/ftheader.h (FT_XFREE86_H): New macro (not
|
||||
documented yet).
|
||||
|
@ -36,6 +36,8 @@ all :
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.base]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.bdf]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.cache]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.cff]
|
||||
@ -62,6 +64,8 @@ all :
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.type1]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.type42]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [-.winfonts]
|
||||
$(MMS)$(MMSQUALIFIERS)
|
||||
set default [--]
|
||||
|
63
docs/CHANGES
63
docs/CHANGES
@ -2,52 +2,51 @@ LATEST CHANGES BETWEEN 2.1.1 and 2.1.0
|
||||
|
||||
I. IMPORTANT BUG FIXES
|
||||
|
||||
- the 'version_info' returned by "freetype-config" in 2.1.0 returned an
|
||||
invalid value. It now returns 9:1:3 (2.0.9 returned 9:0:3)
|
||||
- The `version_info' returned by `freetype-config' in 2.1.0 returned an
|
||||
invalid value. It now returns 9:1:3 (2.0.9 returned 9:0:3).
|
||||
|
||||
- 2.1.0 couldn't be linked against applications on Win32 and Amiga
|
||||
systems, due to a new debug function that wasn't properly propagated
|
||||
to the system-specific directory in 'builds'.
|
||||
- Version 2.1.0 couldn't be linked against applications on Win32 and
|
||||
Amiga systems due to a new debug function that wasn't properly
|
||||
propagated to the system-specific directory in `builds'.
|
||||
|
||||
- various MacOS and Mac OS X specific fixes
|
||||
- Various MacOS and Mac OS X specific fixes.
|
||||
|
||||
- fixed a bug in the TrueType charmap validation routines that made
|
||||
2.1.0 over-restrictive over the fonts it could accept.
|
||||
- Fixed a bug in the TrueType charmap validation routines that made
|
||||
version 2.1.0 too restrictive -- many popular fonts have been
|
||||
rejected.
|
||||
|
||||
- surprisingly, there was still a very small difference between the
|
||||
monochrome glyph bitmaps produced by FT 1.x and FT 2.x with the
|
||||
bytecode interpreter enabled. This was caused by an invalid flag
|
||||
setting in the TrueType glyph loader that caused the rasterizer to
|
||||
change its drop-out control mode. This is now fixed, and results
|
||||
should _really_ be 100% identical
|
||||
- There was still a very small difference between the monochrome glyph
|
||||
bitmaps produced by FreeType 1.x and FreeType 2.x with the bytecode
|
||||
interpreter enabled. This was caused by an invalid flag setting in
|
||||
the TrueType glyph loader, making the rasterizer change its drop-out
|
||||
control mode. Now theresults should _really_ be completely identical.
|
||||
|
||||
- the TrueType name table loader has been improved to support many
|
||||
popular though buggy Asian fonts. It now ignores empty name entries,
|
||||
invalid pointer offsets and a few other sad things. Moreover, name
|
||||
strings are now loaded on demand, which reduces the memory load of
|
||||
many faces (e.g. the ARIAL.TTF font file contains a 10Kb name table
|
||||
containing 70 names)
|
||||
- The TrueType name table loader has been improved to support many
|
||||
popular though buggy Asian fonts. It now ignores empty name entries,
|
||||
invalid pointer offsets and a few other incorrect subtleties.
|
||||
Moreover, name strings are now loaded on demand, which reduces the
|
||||
memory load of many faces (e.g. the ARIAL.TTF font file contains a
|
||||
10kByte name table with 70 names).
|
||||
|
||||
- fixed a bug in the Postscript hinter that prevented family blues
|
||||
- Fixed a bug in the Postscript hinter that prevented family blues
|
||||
substitution to happen correctly.
|
||||
|
||||
|
||||
II. NEW FEATURES
|
||||
|
||||
- Three new font drivers in this release !!
|
||||
- Three new font drivers in this release:
|
||||
|
||||
* a BDF font driver, contributed by Franco Narda Zapelli, and
|
||||
heavily modified by Werner Lemberg, it also supports anti-aliased
|
||||
bitmaps
|
||||
* A BDF font driver, contributed by Franco Narda Zapelli, heavily
|
||||
modified by Werner Lemberg. It also supports anti-aliased bitmaps
|
||||
(using a slightly extended BDF format).
|
||||
|
||||
* a Type42 font driver, contributed by ..... This one is still
|
||||
experimental but seems to work relatively well but lacks some
|
||||
charmap support for now
|
||||
|
||||
* a PFR font driver, contributed by David Turner himself. It doesn't
|
||||
support PFR hinting Beware that BitStream has at least two patents
|
||||
on this format !!
|
||||
* A Type42 font driver, contributed by Roberto Alameda. It is
|
||||
still experimental but seems to work relatively well. Currently,
|
||||
charmap support is not fully implemented.
|
||||
|
||||
* A PFR font driver, contributed by David Turner himself. It doesn't
|
||||
support PFR hinting -- note that BitStream has at least two patents
|
||||
on this format!
|
||||
|
||||
|
||||
========================================================================
|
||||
|
@ -1,5 +1,23 @@
|
||||
#ifndef __FT_XFREE86_H__
|
||||
#define __FT_XFREE86_H__
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftxf86.h */
|
||||
/* */
|
||||
/* Support functions for X11. */
|
||||
/* */
|
||||
/* Copyright 2002 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#ifndef __FTXF86_H__
|
||||
#define __FTXF86_H__
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
@ -15,21 +33,21 @@ FT_BEGIN_HEADER
|
||||
/* FT_Get_X11_Font_Format */
|
||||
/* */
|
||||
/* <Description> */
|
||||
/* Returns a string describing the format of a given face as a X11 */
|
||||
/* FONT_PROPERTY. It should only be used by FreeType 2 font backend */
|
||||
/* of the XFree86 font server. */
|
||||
/* Return a string describing the format of a given face as an X11 */
|
||||
/* FONT_PROPERTY. It should only be used by the FreeType 2 font */
|
||||
/* backend of the XFree86 font server. */
|
||||
/* */
|
||||
/* <Input> */
|
||||
/* face :: input face handle. */
|
||||
/* face :: Input face handle. */
|
||||
/* */
|
||||
/* <Return> */
|
||||
/* font format string. NULL in case of error. */
|
||||
/* Font format string. NULL in case of error. */
|
||||
/* */
|
||||
FT_EXPORT_DEF( const char* )
|
||||
FT_Get_X11_Font_Format( FT_Face face );
|
||||
FT_Get_X11_Font_Format( FT_Face face );
|
||||
|
||||
/* */
|
||||
|
||||
FT_END_HEADER
|
||||
|
||||
#endif /* __FT_XFREE86_H__ */
|
||||
#endif /* __FTXF86_H__ */
|
||||
|
@ -1,34 +1,53 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* fttype1.c */
|
||||
/* */
|
||||
/* FreeType utility file for PS names support (body). */
|
||||
/* */
|
||||
/* Copyright 2002 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_INTERNAL_TYPE1_TYPES_H
|
||||
#include FT_INTERNAL_OBJECTS_H
|
||||
|
||||
/* case a FT_Face to a T1_Face when relevant */
|
||||
/* this implementation sucks, but a lot of things should change in the */
|
||||
/* future anyway.. */
|
||||
/* */
|
||||
|
||||
/* Cast a FT_Face to a T1_Face if necessary. */
|
||||
/* This implementation sucks, but a lot of things should change in the */
|
||||
/* future anyway... */
|
||||
/* */
|
||||
static T1_Face
|
||||
t1_face_check_cast( FT_Face face )
|
||||
t1_face_check_cast( FT_Face face )
|
||||
{
|
||||
FT_Module driver;
|
||||
T1_Face result = NULL;
|
||||
|
||||
|
||||
if ( face && face->driver != NULL )
|
||||
{
|
||||
driver = (FT_Module) face->driver;
|
||||
driver = (FT_Module)face->driver;
|
||||
|
||||
if ( driver->clazz && driver->clazz->module_name &&
|
||||
ft_strcmp( driver->clazz->module_name, "type1" ) == 0 )
|
||||
{
|
||||
/* correct typecast ! */
|
||||
result = (T1_Face) face;
|
||||
/* correct typecast! */
|
||||
result = (T1_Face)face;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* documentation is in t1tables.h */
|
||||
/* documentation is in t1tables.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Error )
|
||||
FT_Get_PS_Font_Info( FT_Face face,
|
||||
@ -37,38 +56,45 @@
|
||||
FT_Error error = FT_Err_Invalid_Argument;
|
||||
T1_Face t1_face = t1_face_check_cast( face );
|
||||
|
||||
|
||||
if ( t1_face != NULL )
|
||||
{
|
||||
*afont_info = t1_face->type1.font_info;
|
||||
error = FT_Err_Ok;
|
||||
error = FT_Err_Ok;
|
||||
}
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
/* XXX: bad hack, but I didn't want to change several drivers here */
|
||||
/* XXX: Bad hack, but I didn't want to change several drivers here. */
|
||||
|
||||
/* documentation is in t1tables.h */
|
||||
/* documentation is in t1tables.h */
|
||||
|
||||
FT_EXPORT_DEF( FT_Int )
|
||||
FT_Has_PS_Glyph_Names( FT_Face face )
|
||||
FT_Has_PS_Glyph_Names( FT_Face face )
|
||||
{
|
||||
FT_Int result = 0;
|
||||
const char* driver_name;
|
||||
|
||||
|
||||
if ( face && face->driver && face->driver->root.clazz )
|
||||
{
|
||||
/* for now, only the type1 and cff drivers provide reliable */
|
||||
/* glyph names... */
|
||||
/* Currently, only the type1 and cff drivers provide reliable */
|
||||
/* glyph names... */
|
||||
|
||||
/* we could probably hack the TrueType driver to recognize */
|
||||
/* certain cases where the glyph names are most certainly */
|
||||
/* correct (e.g. using a 20 or 22 format 'post' table), but */
|
||||
/* this will probably happen later... :-) */
|
||||
/* We could probably hack the TrueType driver to recognize */
|
||||
/* certain cases where the glyph names are most certainly */
|
||||
/* correct (e.g. using a 20 or 22 format `post' table), but */
|
||||
/* this will probably happen later... */
|
||||
|
||||
driver_name = face->driver->root.clazz->module_name;
|
||||
result = ( ft_strcmp( driver_name, "type1" ) ||
|
||||
ft_strcmp( driver_name, "cff" ) );
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/* END */
|
||||
|
@ -1,12 +1,30 @@
|
||||
/***************************************************************************/
|
||||
/* */
|
||||
/* ftxf86.c */
|
||||
/* */
|
||||
/* FreeType utility file for X11 support (body). */
|
||||
/* */
|
||||
/* Copyright 2002 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
/* modified, and distributed under the terms of the FreeType project */
|
||||
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||
/* this file you indicate that you have read the license and */
|
||||
/* understand and accept it fully. */
|
||||
/* */
|
||||
/***************************************************************************/
|
||||
|
||||
|
||||
#include <ft2build.h>
|
||||
#include FT_XFREE86_H
|
||||
#include FT_INTERNAL_OBJECTS_H
|
||||
|
||||
/* XXX: this really is a sad hack, but I didn't want to change every */
|
||||
/* driver just to support this at the moment, since other important */
|
||||
/* changes are coming anyway !! */
|
||||
/* XXX: This really is a sad hack, but I didn't want to change every */
|
||||
/* driver just to support this at the moment, since other important */
|
||||
/* changes are coming anyway. */
|
||||
|
||||
typedef struct
|
||||
typedef struct FT_FontFormatRec_
|
||||
{
|
||||
const char* driver_name;
|
||||
const char* format_name;
|
||||
@ -15,7 +33,7 @@
|
||||
|
||||
|
||||
FT_EXPORT_DEF( const char* )
|
||||
FT_Get_X11_Font_Format( FT_Face face )
|
||||
FT_Get_X11_Font_Format( FT_Face face )
|
||||
{
|
||||
static const FT_FontFormatRec font_formats[] =
|
||||
{
|
||||
@ -35,11 +53,14 @@
|
||||
|
||||
if ( face && face->driver )
|
||||
{
|
||||
FT_Module driver = (FT_Module) face->driver;
|
||||
FT_Module driver = (FT_Module)face->driver;
|
||||
|
||||
|
||||
if ( driver->clazz && driver->clazz->module_name )
|
||||
{
|
||||
FT_Int n, count = sizeof(font_formats)/sizeof(font_formats[0]);
|
||||
FT_Int n;
|
||||
FT_Int count = sizeof( font_formats ) / sizeof ( font_formats[0] );
|
||||
|
||||
|
||||
result = driver->clazz->module_name;
|
||||
|
||||
@ -54,3 +75,6 @@
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/* END */
|
||||
|
@ -1740,10 +1740,6 @@
|
||||
/* the scalable width from the device width. */
|
||||
FT_TRACE2(( "_bdf_parse_glyphs: " ACMSG9, lineno ));
|
||||
|
||||
ps = (double)font->point_size;
|
||||
rx = (double)font->resolution_x;
|
||||
dw = (double)glyph->dwidth;
|
||||
|
||||
glyph->swidth = (unsigned short)FT_MulDiv(
|
||||
glyph->dwidth, 72000L,
|
||||
(FT_Long)( font->point_size *
|
||||
|
23
src/bdf/descrip.mms
Normal file
23
src/bdf/descrip.mms
Normal file
@ -0,0 +1,23 @@
|
||||
#
|
||||
# FreeType 2 BDF driver compilation rules for VMS
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2002 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.bdf])
|
||||
|
||||
OBJS=bdf.obj
|
||||
|
||||
all : $(OBJS)
|
||||
library [--.lib]freetype.olb $(OBJS)
|
||||
|
||||
# EOF
|
@ -488,14 +488,14 @@
|
||||
|
||||
for ( ; count2 > 0; count2--, zone2++ )
|
||||
{
|
||||
FT_Pos delta;
|
||||
FT_Pos Delta;
|
||||
|
||||
|
||||
delta = zone1->org_ref - zone2->org_ref;
|
||||
if ( delta < 0 )
|
||||
delta = -delta;
|
||||
Delta = zone1->org_ref - zone2->org_ref;
|
||||
if ( Delta < 0 )
|
||||
Delta = -Delta;
|
||||
|
||||
if ( FT_MulFix( delta, scale ) < 64 )
|
||||
if ( FT_MulFix( Delta, scale ) < 64 )
|
||||
{
|
||||
zone1->cur_top = zone2->cur_top;
|
||||
zone1->cur_bottom = zone2->cur_bottom;
|
||||
|
23
src/type42/descrip.mms
Normal file
23
src/type42/descrip.mms
Normal file
@ -0,0 +1,23 @@
|
||||
#
|
||||
# FreeType 2 Type 42 driver compilation rules for VMS
|
||||
#
|
||||
|
||||
|
||||
# Copyright 2002 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# This file is part of the FreeType project, and may only be used, modified,
|
||||
# and distributed under the terms of the FreeType project license,
|
||||
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||
# indicate that you have read the license and understand and accept it
|
||||
# fully.
|
||||
|
||||
|
||||
CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.type42])
|
||||
|
||||
OBJS=t42drivr.obj
|
||||
|
||||
all : $(OBJS)
|
||||
library [--.lib]freetype.olb $(OBJS)
|
||||
|
||||
# EOF
|
Loading…
Reference in New Issue
Block a user