ref: 5bbb4940087afe9e6cf6fff14133f7f5d6c59b2f
parent: d490e3734d6e4b0ef46888f6f55776b36073d4bd
author: Werner Lemberg <[email protected]>
date: Thu May 30 15:22:14 EDT 2002
* 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.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2002-05-29 Werner Lemberg <[email protected]>
+
+ * 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 <[email protected]>
* builds/amiga/makefile, builds/amiga/smakefile,
@@ -8,16 +17,16 @@
2005-05-28 David Turner <[email protected]>
- * 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).
--- a/descrip.mms
+++ b/descrip.mms
@@ -36,6 +36,8 @@
$(MMS)$(MMSQUALIFIERS)
set default [-.base]
$(MMS)$(MMSQUALIFIERS)
+ set default [-.bdf]
+ $(MMS)$(MMSQUALIFIERS)
set default [-.cache]
$(MMS)$(MMSQUALIFIERS)
set default [-.cff]
@@ -61,6 +63,8 @@
set default [-.truetype]
$(MMS)$(MMSQUALIFIERS)
set default [-.type1]
+ $(MMS)$(MMSQUALIFIERS)
+ set default [-.type42]
$(MMS)$(MMSQUALIFIERS)
set default [-.winfonts]
$(MMS)$(MMSQUALIFIERS)
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -2,52 +2,51 @@
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 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 Beware that BitStream has at least two patents
- on this format !!
-
+ * 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!
========================================================================
--- a/include/freetype/ftxf86.h
+++ b/include/freetype/ftxf86.h
@@ -1,6 +1,24 @@
-#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_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__ */
--- a/src/base/fttype1.c
+++ b/src/base/fttype1.c
@@ -1,26 +1,46 @@
+/***************************************************************************/
+/* */
+/* 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;
@@ -27,9 +47,8 @@
}
+ /* documentation is in t1tables.h */
- /* documentation is in t1tables.h */
-
FT_EXPORT_DEF( FT_Error )
FT_Get_PS_Font_Info( FT_Face face,
PS_FontInfoRec* afont_info )
@@ -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 */
--- a/src/base/ftxf86.c
+++ b/src/base/ftxf86.c
@@ -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,12 +53,15 @@
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;
for ( n = 0; n < count; n++ )
@@ -54,3 +75,6 @@
return result;
}
+
+
+/* END */
--- a/src/bdf/bdflib.c
+++ b/src/bdf/bdflib.c
@@ -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 *
--- /dev/null
+++ b/src/bdf/descrip.mms
@@ -1,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
--- a/src/pshinter/pshglob.c
+++ b/src/pshinter/pshglob.c
@@ -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;
--- /dev/null
+++ b/src/type42/descrip.mms
@@ -1,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