* src/otlayout/otlayout.h: Add copyright.
(OTL_INVALID_OFFSET): Removed. * src/otlayout/otlgdef.h: Include otlayout.h. Comment out inclusion of otltable.h. * src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call to otl_base_array_validate. (otl_liga_mark2_validate): Fix `for' loop. * src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id', not components array. * src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count): Comment out. (otl_lookup_list_get_count, otl_feature_list_get_count): Activate. (otl_feature_list_validate, otl_gsubgpos_get_lookup_count): s/otl_lookup_get_count/otl_lookup_list_get_count/. (otl_script_list_validate): s/otl_feature_get_count/otl_feature_list_get_count/. (otl_script_validate): Call otl_lang_validate for default language. * src/otlayout/otlcommn.h: Updated.
This commit is contained in:
parent
46b5c4ac31
commit
009ce1aba8
26
ChangeLog
26
ChangeLog
|
@ -1,3 +1,29 @@
|
|||
2004-08-27 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/otlayout/otlayout.h: Add copyright.
|
||||
(OTL_INVALID_OFFSET): Removed.
|
||||
|
||||
* src/otlayout/otlgdef.h: Include otlayout.h.
|
||||
Comment out inclusion of otltable.h.
|
||||
|
||||
* src/otlayout/otlgpos.c (otl_gpos_lookup4_validate): Fix call
|
||||
to otl_base_array_validate.
|
||||
(otl_liga_mark2_validate): Fix `for' loop.
|
||||
|
||||
* src/otlayout/otlgsub.c (otl_ligature_validate): Check `glyph_id',
|
||||
not components array.
|
||||
|
||||
* src/otlcommn.c (otl_lookup_get_count, otl_feature_get_count):
|
||||
Comment out.
|
||||
(otl_lookup_list_get_count, otl_feature_list_get_count): Activate.
|
||||
(otl_feature_list_validate, otl_gsubgpos_get_lookup_count):
|
||||
s/otl_lookup_get_count/otl_lookup_list_get_count/.
|
||||
(otl_script_list_validate):
|
||||
s/otl_feature_get_count/otl_feature_list_get_count/.
|
||||
(otl_script_validate): Call otl_lang_validate for default language.
|
||||
|
||||
* src/otlayout/otlcommn.h: Updated.
|
||||
|
||||
2004-08-16 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/otlayout/otlgpos.c (otl_gpos_lookup1_validate,
|
||||
|
|
|
@ -1,3 +1,21 @@
|
|||
/***************************************************************************/
|
||||
/* */
|
||||
/* otlayout.h */
|
||||
/* */
|
||||
/* OpenType layout support (specification only). */
|
||||
/* */
|
||||
/* Copyright 2002, 2004 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 __OT_LAYOUT_H__
|
||||
#define __OT_LAYOUT_H__
|
||||
|
||||
|
@ -200,7 +218,6 @@ OTL_BEGIN_HEADER
|
|||
#define OTL_INVALID(e) otl_validator_error( valid, e )
|
||||
|
||||
#define OTL_INVALID_TOO_SHORT OTL_INVALID( OTL_Err_InvalidSize )
|
||||
#define OTL_INVALID_OFFSET OTL_INVALID( OTL_Err_InvalidOffset )
|
||||
#define OTL_INVALID_DATA OTL_INVALID( OTL_Err_InvalidData )
|
||||
#define OTL_INVALID_FORMAT OTL_INVALID( OTL_Err_InvalidFormat )
|
||||
|
||||
|
@ -214,3 +231,6 @@ OTL_BEGIN_HEADER
|
|||
OTL_END_HEADER
|
||||
|
||||
#endif /* __OT_LAYOUT_H__ */
|
||||
|
||||
|
||||
/* END */
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
}
|
||||
|
||||
|
||||
#if 0
|
||||
OTL_LOCALDEF( OTL_UInt )
|
||||
otl_lookup_get_count( OTL_Bytes table )
|
||||
{
|
||||
|
@ -520,6 +521,7 @@
|
|||
|
||||
return OTL_PEEK_USHORT( p );
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if 0
|
||||
|
@ -575,7 +577,6 @@
|
|||
}
|
||||
|
||||
|
||||
#if 0
|
||||
OTL_LOCALDEF( OTL_UInt )
|
||||
otl_lookup_list_get_count( OTL_Bytes table )
|
||||
{
|
||||
|
@ -584,7 +585,6 @@
|
|||
|
||||
return OTL_PEEK_USHORT( p );
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if 0
|
||||
|
@ -671,6 +671,7 @@
|
|||
}
|
||||
|
||||
|
||||
#if 0
|
||||
OTL_LOCALDEF( OTL_UInt )
|
||||
otl_feature_get_count( OTL_Bytes table )
|
||||
{
|
||||
|
@ -679,6 +680,7 @@
|
|||
|
||||
return OTL_PEEK_USHORT( p );
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if 0
|
||||
|
@ -730,7 +732,7 @@
|
|||
num_features = OTL_NEXT_USHORT( p );
|
||||
OTL_CHECK( 2 * num_features );
|
||||
|
||||
lookup_count = otl_lookup_get_count( lookups );
|
||||
lookup_count = otl_lookup_list_get_count( lookups );
|
||||
|
||||
/* scan feature records */
|
||||
for ( ; num_features > 0; num_features-- )
|
||||
|
@ -743,7 +745,6 @@
|
|||
}
|
||||
|
||||
|
||||
#if 0
|
||||
OTL_LOCALDEF( OTL_UInt )
|
||||
otl_feature_list_get_count( OTL_Bytes table )
|
||||
{
|
||||
|
@ -752,7 +753,6 @@
|
|||
|
||||
return OTL_PEEK_USHORT( p );
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if 0
|
||||
|
@ -906,10 +906,7 @@
|
|||
num_langs = OTL_NEXT_USHORT( p );
|
||||
|
||||
if ( default_lang != 0 )
|
||||
{
|
||||
if ( table + default_lang >= valid->limit )
|
||||
OTL_INVALID_OFFSET;
|
||||
}
|
||||
otl_lang_validate( table + default_lang, feature_count, valid );
|
||||
|
||||
OTL_CHECK( num_langs * 6 );
|
||||
|
||||
|
@ -936,7 +933,7 @@
|
|||
num_scripts = OTL_NEXT_USHORT( p );
|
||||
OTL_CHECK( num_scripts * 6 );
|
||||
|
||||
feature_count = otl_feature_get_count( features );
|
||||
feature_count = otl_feature_list_get_count( features );
|
||||
|
||||
/* scan script records */
|
||||
for ( ; num_scripts > 0; num_scripts-- )
|
||||
|
@ -963,7 +960,7 @@
|
|||
OTL_Bytes p = table + 8;
|
||||
|
||||
|
||||
return otl_lookup_get_count( table + OTL_PEEK_USHORT( p ) );
|
||||
return otl_lookup_list_get_count( table + OTL_PEEK_USHORT( p ) );
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -128,9 +128,11 @@ OTL_BEGIN_HEADER
|
|||
OTL_UInt glyph_count,
|
||||
OTL_Validator valid );
|
||||
|
||||
#if 0
|
||||
/* return number of sub-tables in a lookup */
|
||||
OTL_LOCAL( OTL_UInt )
|
||||
otl_lookup_get_count( OTL_Bytes table );
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* return lookup sub-table */
|
||||
|
@ -156,11 +158,9 @@ OTL_BEGIN_HEADER
|
|||
OTL_UInt glyph_count,
|
||||
OTL_Validator valid );
|
||||
|
||||
#if 0
|
||||
/* return number of lookups in list */
|
||||
OTL_LOCAL( OTL_UInt )
|
||||
otl_lookup_list_get_count( OTL_Bytes table );
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* return a given lookup from a list */
|
||||
|
@ -200,9 +200,11 @@ OTL_BEGIN_HEADER
|
|||
OTL_UInt lookup_count,
|
||||
OTL_Validator valid );
|
||||
|
||||
#if 0
|
||||
/* return feature's lookup count */
|
||||
OTL_LOCAL( OTL_UInt )
|
||||
otl_feature_get_count( OTL_Bytes table );
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* get several lookups indices from a feature. returns the number of */
|
||||
|
@ -230,11 +232,9 @@ OTL_BEGIN_HEADER
|
|||
OTL_Bytes lookups,
|
||||
OTL_Validator valid );
|
||||
|
||||
#if 0
|
||||
/* return number of features in list */
|
||||
OTL_LOCAL( OTL_UInt )
|
||||
otl_feature_list_get_count( OTL_Bytes table );
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* return a given feature from a list */
|
||||
|
|
|
@ -19,7 +19,11 @@
|
|||
#ifndef __OTLGDEF_H__
|
||||
#define __OTLGDEF_H__
|
||||
|
||||
#include "otlayout.h"
|
||||
|
||||
#if 0
|
||||
#include "otltable.h"
|
||||
#endif
|
||||
|
||||
OTL_BEGIN_HEADER
|
||||
|
||||
|
|
|
@ -477,7 +477,7 @@
|
|||
otl_coverage_validate( table + base_coverage, valid );
|
||||
|
||||
otl_mark_array_validate( table + mark_array, valid );
|
||||
otl_base_array_validate( table, num_classes, valid );
|
||||
otl_base_array_validate( table + base_array, num_classes, valid );
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -514,7 +514,7 @@
|
|||
/* scan component records */
|
||||
for ( ; num_components > 0; num_components-- )
|
||||
/* scan ligature anchor records */
|
||||
for ( count = class_count; class_count > 0; class_count-- )
|
||||
for ( count = class_count; count > 0; count-- )
|
||||
{
|
||||
OTL_UInt offset = OTL_NEXT_USHORT( p );
|
||||
|
||||
|
|
|
@ -484,7 +484,10 @@
|
|||
|
||||
|
||||
OTL_CHECK( 4 );
|
||||
glyph_id = OTL_NEXT_USHORT( p );
|
||||
glyph_id = OTL_NEXT_USHORT( p );
|
||||
if ( glyph_id >= glyph_count )
|
||||
OTL_INVALID_DATA;
|
||||
|
||||
num_components = OTL_NEXT_USHORT( p );
|
||||
|
||||
if ( num_components == 0 )
|
||||
|
@ -493,10 +496,6 @@
|
|||
num_components--;
|
||||
|
||||
OTL_CHECK( num_components * 2 );
|
||||
|
||||
for ( ; num_components > 0; num_components-- )
|
||||
if ( OTL_NEXT_USHORT( p ) >= glyph_count )
|
||||
OTL_INVALID_DATA;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue