ref: 2acb963baf4a37f3d388ae6dd20aa83832d70d74
parent: 9a8898810d4290ee2b0f080f9fee92a0f7b0be72
author: Werner Lemberg <[email protected]>
date: Wed Apr 23 02:47:12 EDT 2003
Cleanups.
--- a/ChangeLog
+++ b/ChangeLog
@@ -209,14 +209,17 @@
2003-02-13 Graham Asher <[email protected]>
- * include/freetype/ftincrem.h, src/cff/cffgload.c,
- src/cid/cidgload.c, src/truetype/ttgload.c, src/type1/t1gload.c
- [FT_CONFIG_OPTION_INCREMENTAL]: Changed the incremental loading
- interface in a way that makes it simpler and allows glyph metrics to
- be changed (e.g., by adding a constant, as required by CFF fonts)
- rather than just overridden. This was required to make the
- GhsotScript-to-FreeType bridge work.
+ Changed the incremental loading interface in a way that makes it
+ simpler and allows glyph metrics to be changed (e.g., by adding a
+ constant, as required by CFF fonts) rather than just overridden.
+ This was required to make the GhostScript-to-FreeType bridge work.
+ * src/cff/cffgload.c (cff_slot_load) [FT_CONFIG_OPTION_INCREMENTAL]:
+ Allow metrics to be overridden.
+ * src/cid/cidgload.c, src/truetype/ttgload.c, src/type1/t1gload.c
+ [FT_CONFIG_OPTION_INCREMENTAL]:
+ * include/freetype/ftincrem.h: Updated.
+
2003-01-31 David Turner <[email protected]>
* docs/CHANGES, docs/VERSION.DLL, docs/TODO: Updating documentation
@@ -513,10 +516,10 @@
2002-11-23 David Turner <[email protected]>
- * src/cff/cffload.c (cff_charser_load): Modified charset loader to
- accept pre-defined charsets, even when the font contains fewer
- glyphs. Also enforced more checks to ensure that we never overflow
- the character codes array in the encoding.
+ * src/cff/cffload.c (cff_charset_load, cff_encoding_load): Modified
+ charset loader to accept pre-defined charsets, even when the font
+ contains fewer glyphs. Also enforced more checks to ensure that we
+ never overflow the character codes array in the encoding.
2002-11-22 Antoine Leca <[email protected]>
--- a/src/bdf/bdfdrivr.c
+++ b/src/bdf/bdfdrivr.c
@@ -2,7 +2,7 @@
FreeType font driver for bdf files
- Copyright (C) 2001-2002 by
+ Copyright (C) 2001, 2002, 2003 by
Francesco Zappa Nardelli
Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -637,6 +637,7 @@
{
bdf_property_t* prop;
+
FT_ASSERT( face && face->bdffont );
prop = bdf_get_font_property( face->bdffont, (char*)prop_name );
@@ -644,26 +645,27 @@
{
switch ( prop->format )
{
- case BDF_ATOM:
- aproperty->type = BDF_PROPERTY_TYPE_ATOM;
- aproperty->u.atom = prop->value.atom;
- break;
+ case BDF_ATOM:
+ aproperty->type = BDF_PROPERTY_TYPE_ATOM;
+ aproperty->u.atom = prop->value.atom;
+ break;
- case BDF_INTEGER:
- aproperty->type = BDF_PROPERTY_TYPE_INTEGER;
- aproperty->u.integer = prop->value.int32;
- break;
+ case BDF_INTEGER:
+ aproperty->type = BDF_PROPERTY_TYPE_INTEGER;
+ aproperty->u.integer = prop->value.int32;
+ break;
- case BDF_CARDINAL:
- aproperty->type = BDF_PROPERTY_TYPE_CARDINAL;
- aproperty->u.cardinal = prop->value.card32;
- break;
+ case BDF_CARDINAL:
+ aproperty->type = BDF_PROPERTY_TYPE_CARDINAL;
+ aproperty->u.cardinal = prop->value.card32;
+ break;
- default:
- goto Fail;
+ default:
+ goto Fail;
}
return 0;
}
+
Fail:
return FT_Err_Invalid_Argument;
}
@@ -676,7 +678,7 @@
FT_UNUSED( module );
if ( name && ft_strcmp( name, "get_bdf_property" ) == 0 )
- return (FT_Module_Interface) bdf_get_bdf_property;
+ return (FT_Module_Interface)bdf_get_bdf_property;
return NULL;
}
--- a/src/cache/ftccmap.c
+++ b/src/cache/ftccmap.c
@@ -4,7 +4,7 @@
/* */
/* FreeType CharMap cache (body) */
/* */
-/* Copyright 2000-2001, 2002 by */
+/* Copyright 2000-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -193,16 +193,17 @@
break;
case FTC_CMAP_BY_ENCODING:
- if (desc->u.encoding == FT_ENCODING_UNICODE)
+ if ( desc->u.encoding == FT_ENCODING_UNICODE )
{
- /* since the `interesting' table, with id's 3,10, is normally the
- * last one, we loop backwards. This looses with type1 fonts with
- * non-BMP characters (<.0001%), this wins with .ttf with non-BMP
- * chars (.01% ?), and this is the same about 99.99% of the time!
- */
+ /* Since the `interesting' table, pid/eid (3,10), is normally the
+ * last one, we loop backwards. This looses with type1 fonts with
+ * non-BMP characters (<.0001%), this wins with .ttf with non-BMP
+ * chars (.01% ?), and this is the same about 99.99% of the time!
+ */
FT_UInt unicmap_idx = count; /* some UCS-2 map, if we found it */
+
cur += count - 1;
for ( idx = 0; idx < count; idx++, cur-- )
@@ -211,15 +212,15 @@
{
unicmap_idx = idx; /* record we found a Unicode charmap */
- /* XXX If some new encodings to represent UCS-4 are added,
- * they should be added here.
- */
+ /* XXX If some new encodings to represent UCS-4 are added,
+ * they should be added here.
+ */
if ( ( cur[0]->platform_id == TT_PLATFORM_MICROSOFT &&
- cur[0]->encoding_id == TT_MS_ID_UCS_4 ) ||
+ cur[0]->encoding_id == TT_MS_ID_UCS_4 ) ||
( cur[0]->platform_id == TT_PLATFORM_APPLE_UNICODE &&
- cur[0]->encoding_id == TT_APPLE_ID_UNICODE_32 ) )
+ cur[0]->encoding_id == TT_APPLE_ID_UNICODE_32 ) )
- /* Hurray! We found a UCS-4 charmap. We can stop the scan! */
+ /* Hurray! We found a UCS-4 charmap. We can stop the scan! */
{
idx = count - 1 - idx;
goto Found_idx_for_FTC_CMAP_BY_ENCODING;
@@ -227,9 +228,9 @@
}
}
- /* We do not have any UCS-4 charmap. Sigh.
- * Let's see if we have some other kind of Unicode charmap, though.
- */
+ /* We do not have any UCS-4 charmap. Sigh.
+ * Let's see if we have some other kind of Unicode charmap, though.
+ */
if ( unicmap_idx < count )
idx = count - 1 - unicmap_idx;
}
--- a/src/cache/ftcsbits.c
+++ b/src/cache/ftcsbits.c
@@ -4,7 +4,7 @@
/* */
/* FreeType sbits manager (body). */
/* */
-/* Copyright 2000-2001, 2002 by */
+/* Copyright 2000-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -189,7 +189,7 @@
sbit->format = (FT_Byte)bitmap->pixel_mode;
sbit->max_grays = (FT_Byte)(bitmap->num_grays - 1);
-#if 0 /* this doesn't work well with embedded bitmaps !! */
+#if 0 /* this doesn't work well with embedded bitmaps */
/* grab the bitmap when possible - this is a hack! */
if ( slot->flags & FT_GLYPH_OWN_BITMAP )
--- a/src/cache/ftlru.c
+++ b/src/cache/ftlru.c
@@ -4,7 +4,7 @@
/* */
/* Simple LRU list-cache (body). */
/* */
-/* Copyright 2000-2001, 2002 by */
+/* Copyright 2000-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -188,40 +188,40 @@
goto Exit;
}
- /* since we haven't found the relevant element in our LRU list,
+ /* Since we haven't found the relevant element in our LRU list,
* we're going to "create" a new one.
*
- * the following code is a bit special, because it tries to handle
+ * The following code is a bit special, because it tries to handle
* out-of-memory conditions (OOM) in an intelligent way.
*
- * more precisely, if not enough memory is available to create a
+ * More precisely, if not enough memory is available to create a
* new node or "flush" an old one, we need to remove the oldest
- * elements from our list, and try again. since several tries may
- * be necessary, a loop is needed
+ * elements from our list, and try again. Since several tries may
+ * be necessary, a loop is needed.
*
- * this loop will only exit when:
+ * This loop will only exit when:
*
- * - a new node was succesfully created, or an old node flushed
+ * - a new node was successfully created, or an old node flushed
* - an error other than FT_Err_Out_Of_Memory is detected
* - the list of nodes is empty, and it isn't possible to create
* new nodes
*
- * on each unsucesful attempt, one node will be removed from the list
+ * On each unsuccessful attempt, one node will be removed from the list.
*
*/
{
- FT_Int drop_last = ( list->max_nodes > 0 &&
- list->num_nodes >= list->max_nodes );
+ FT_Int drop_last = ( list->max_nodes > 0 &&
+ list->num_nodes >= list->max_nodes );
for (;;)
{
node = NULL;
- /* when "drop_last" is true, we should free the last node in
- * the list to make room for a new one. note that we re-use
- * its memory block to save allocation calls.
- */
+ /* If "drop_last" is true, we should free the last node in
+ * the list to make room for a new one. Note that we reuse
+ * its memory block to save allocation calls.
+ */
if ( drop_last )
{
/* find the last node in the list
@@ -244,10 +244,10 @@
node = *pnode;
}
- /* remove it from the list, and try to "flush" it. doing this will
- * save a significant number of dynamic allocations compared to
- * a classic destroy/create cycle
- */
+ /* Remove it from the list, and try to "flush" it. Doing this will
+ * save a significant number of dynamic allocations compared to
+ * a classic destroy/create cycle.
+ */
*pnode = NULL;
list->num_nodes -= 1;
@@ -257,14 +257,14 @@
if ( !error )
goto Success;
- /* note that if an error occured during the flush, we need to
+ /* Note that if an error occured during the flush, we need to
* finalize it since it is potentially in incomplete state.
*/
}
- /* we finalize, but do not destroy the last node, we
- * simply re-use its memory block !
- */
+ /* We finalize, but do not destroy the last node, we
+ * simply reuse its memory block!
+ */
if ( clazz->node_done )
clazz->node_done( node, list->data );
@@ -272,8 +272,8 @@
}
else
{
- /* try to allocate a new node when "drop_last" is not TRUE
- * this usually happens on the first pass, when the LRU list
+ /* Try to allocate a new node when "drop_last" is not TRUE.
+ * This usually happens on the first pass, when the LRU list
* is not already full.
*/
if ( FT_ALLOC( node, clazz->node_size ) )
@@ -314,7 +314,6 @@
*anode = result;
return error;
}
-
FT_EXPORT_DEF( void )
--- a/src/cff/cffgload.c
+++ b/src/cff/cffgload.c
@@ -4,7 +4,7 @@
/* */
/* OpenType Glyph Loader (body). */
/* */
-/* Copyright 1996-2001, 2002 by */
+/* Copyright 1996-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -2366,11 +2366,12 @@
#ifdef FT_CONFIG_OPTION_INCREMENTAL
/* Incremental fonts can optionally override the metrics. */
- if ( !error &&
- face->root.internal->incremental_interface &&
+ if ( !error &&
+ face->root.internal->incremental_interface &&
face->root.internal->incremental_interface->funcs->get_glyph_metrics )
{
FT_Incremental_MetricsRec metrics;
+
metrics.bearing_x = decoder.builder.left_bearing.x;
metrics.bearing_y = decoder.builder.left_bearing.y;
--- a/src/cff/cffload.c
+++ b/src/cff/cffload.c
@@ -1595,7 +1595,7 @@
/* In order to use a predefined charset, the following must be */
/* true: The charset constructed for the glyphs in the font's */
/* charstrings dictionary must match the predefined charset in */
- /* the first num_glyphs */
+ /* the first num_glyphs. */
charset->offset = offset; /* record charset type */
@@ -1749,9 +1749,10 @@
{
FT_Byte* p;
- /* by convention, GID 0 is always ".notdef" and is never */
- /* coded in the font. Hence, the number of codes found */
- /* in the table is 'count+1' */
+
+ /* By convention, GID 0 is always ".notdef" and is never */
+ /* coded in the font. Hence, the number of codes found */
+ /* in the table is `count+1'. */
/* */
encoding->count = count + 1;
@@ -1821,7 +1822,7 @@
}
}
- /* simple check, one never knows what can be found in a font */
+ /* simple check; one never knows what can be found in a font */
if ( encoding->count > 256 )
encoding->count = 256;
}
@@ -1923,8 +1924,8 @@
encoding->codes[j] = (FT_UShort)i;
/* update encoding count */
- if ( encoding->count < j+1 )
- encoding->count = j+1;
+ if ( encoding->count < j + 1 )
+ encoding->count = j + 1;
}
}
}