summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2003-06-12 13:14:15 +0000
committerWerner Lemberg <wl@gnu.org>2003-06-12 13:14:15 +0000
commit8934eb01359b7e2f40230ca1b35cedded07d17b7 (patch)
tree713467b4ae9a86f0a2eeebca5eb9bfbe6574c054
parent3064272c4c35a5f2ca14432c1ff926752ef2fb57 (diff)
downloadfreetype2-8934eb01359b7e2f40230ca1b35cedded07d17b7.tar.gz
* include/freetype/internal/psaux.h (T1_FieldType): Add
T1_FIELD_TYPE_KEY. (T1_FIELD_KEY): New macro. * src/psaux/psobjs.c (ps_parser_load_field): Handle T1_FIELD_TYPE_KEY. * src/cid/cidtoken.h: Use T1_FIELD_KEY for /CIDFontName. * src/cache/ftlru.c (FT_LruList_Remove_Selection): Decrease number of nodes. (FT_LruList_Lookup): Fix assertion for out-of-memory case.
-rw-r--r--ChangeLog16
-rw-r--r--include/freetype/internal/psaux.h4
-rw-r--r--src/cache/ftlru.c5
-rw-r--r--src/cid/cidtoken.h2
-rw-r--r--src/psaux/psobjs.c19
5 files changed, 37 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index cbab9d47e..3ebe8a67a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2003-06-12 Werner Lemberg <wl@gnu.org>
+
+ * include/freetype/internal/psaux.h (T1_FieldType): Add
+ T1_FIELD_TYPE_KEY.
+ (T1_FIELD_KEY): New macro.
+ * src/psaux/psobjs.c (ps_parser_load_field): Handle
+ T1_FIELD_TYPE_KEY.
+
+ * src/cid/cidtoken.h: Use T1_FIELD_KEY for /CIDFontName.
+
+2003-06-11 Alexander Malmberg <alexander@malmberg.org>
+
+ * src/cache/ftlru.c (FT_LruList_Remove_Selection): Decrease
+ number of nodes.
+ (FT_LruList_Lookup): Fix assertion for out-of-memory case.
+
2003-06-11 Werner Lemberg <wl@gnu.org>
* src/cid/cidload.c (cid_decrypt): Removed.
diff --git a/include/freetype/internal/psaux.h b/include/freetype/internal/psaux.h
index d7f2c2664..1e5b7f2db 100644
--- a/include/freetype/internal/psaux.h
+++ b/include/freetype/internal/psaux.h
@@ -183,6 +183,7 @@ FT_BEGIN_HEADER
T1_FIELD_TYPE_FIXED_1000,
T1_FIELD_TYPE_FIXED_1000_P,
T1_FIELD_TYPE_STRING,
+ T1_FIELD_TYPE_KEY,
T1_FIELD_TYPE_BBOX,
T1_FIELD_TYPE_INTEGER_ARRAY,
T1_FIELD_TYPE_FIXED_ARRAY,
@@ -293,6 +294,9 @@ FT_BEGIN_HEADER
#define T1_FIELD_STRING( _ident, _fname ) \
T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_STRING, _fname )
+#define T1_FIELD_KEY( _ident, _fname ) \
+ T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_KEY, _fname )
+
#define T1_FIELD_BBOX( _ident, _fname ) \
T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_BBOX, _fname )
diff --git a/src/cache/ftlru.c b/src/cache/ftlru.c
index eb2065a17..95c12924f 100644
--- a/src/cache/ftlru.c
+++ b/src/cache/ftlru.c
@@ -227,7 +227,7 @@
if ( node == NULL )
{
- FT_ASSERT( list->nodes == 0 );
+ FT_ASSERT( list->num_nodes == 0 );
error = FT_Err_Out_Of_Memory;
goto Exit;
}
@@ -245,7 +245,7 @@
* a classic destroy/create cycle.
*/
*pnode = NULL;
- list->num_nodes -= 1;
+ list->num_nodes--;
if ( clazz->node_flush )
{
@@ -379,6 +379,7 @@
clazz->node_done( node, list );
FT_FREE( node );
+ list->num_nodes--;
}
else
pnode = &(*pnode)->next;
diff --git a/src/cid/cidtoken.h b/src/cid/cidtoken.h
index eb38c7b23..ff2a89d7f 100644
--- a/src/cid/cidtoken.h
+++ b/src/cid/cidtoken.h
@@ -21,7 +21,7 @@
#undef T1CODE
#define T1CODE T1_FIELD_LOCATION_CID_INFO
- T1_FIELD_STRING( "CIDFontName", cid_font_name )
+ T1_FIELD_KEY ( "CIDFontName", cid_font_name )
T1_FIELD_NUM ( "CIDFontVersion", cid_version )
T1_FIELD_NUM ( "CIDFontType", cid_font_type )
T1_FIELD_STRING( "Registry", registry )
diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c
index fa1f74afc..5ef111ac4 100644
--- a/src/psaux/psobjs.c
+++ b/src/psaux/psobjs.c
@@ -956,7 +956,7 @@
case 1:
{
FT_Memory memory = parser->memory;
- FT_Byte *p;
+ FT_Byte* p;
/* with synthetic fonts, it's possible to find a field twice */
@@ -973,8 +973,8 @@
case 2:
{
- FT_Memory memory = parser->memory;
- FT_UShort *p;
+ FT_Memory memory = parser->memory;
+ FT_UShort* p;
/* with synthetic fonts, it's possible to find a field twice */
@@ -991,8 +991,8 @@
case 4:
{
- FT_Memory memory = parser->memory;
- FT_UInt32 *p;
+ FT_Memory memory = parser->memory;
+ FT_UInt32* p;
/* with synthetic fonts, it's possible to find a field twice */
@@ -1010,7 +1010,7 @@
default:
{
FT_Memory memory = parser->memory;
- FT_Long *p;
+ FT_Long* p;
/* with synthetic fonts, it's possible to find a field twice */
@@ -1028,6 +1028,7 @@
break;
case T1_FIELD_TYPE_STRING:
+ case T1_FIELD_TYPE_KEY:
{
FT_Memory memory = parser->memory;
FT_UInt len = (FT_UInt)( limit - cur );
@@ -1037,6 +1038,12 @@
if ( *(FT_String**)q )
break;
+ if ( field->type == T1_FIELD_TYPE_KEY )
+ {
+ len--;
+ cur++;
+ }
+
if ( FT_ALLOC( string, len + 1 ) )
goto Exit;