summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2004-07-26 19:20:27 +0000
committerOwen Taylor <otaylor@src.gnome.org>2004-07-26 19:20:27 +0000
commit1f5c74ea1650c21bdef9afdf2ba483e53b7ee439 (patch)
treeff31f5384d9fdcdcbe2379ba626ea14f3a4599f1
parentf158dfc34f9b750cc97001dde18db2337628d97a (diff)
downloadpango-1f5c74ea1650c21bdef9afdf2ba483e53b7ee439.tar.gz
Match backtrack context against the output glyphs not the input glyphs
Mon Jul 26 15:16:07 2004 Owen Taylor <otaylor@redhat.com> * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst[123]): Match backtrack context against the output glyphs not the input glyphs (#145174, Aamir Wali)
-rw-r--r--ChangeLog6
-rw-r--r--ChangeLog.pre-1-106
-rw-r--r--ChangeLog.pre-1-66
-rw-r--r--ChangeLog.pre-1-86
-rw-r--r--pango/opentype/ftxgsub.c24
5 files changed, 36 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 293df95b..fa3fbdcf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Mon Jul 26 15:16:07 2004 Owen Taylor <otaylor@redhat.com>
+
+ * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst[123]):
+ Match backtrack context against the output glyphs not
+ the input glyphs (#145174, Aamir Wali)
+
Mon Jul 26 14:49:22 2004 Owen Taylor <otaylor@redhat.com>
* ftxgdef.[ch] otlbuffer.[ch]: Make Check_Property() take a
diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10
index 293df95b..fa3fbdcf 100644
--- a/ChangeLog.pre-1-10
+++ b/ChangeLog.pre-1-10
@@ -1,3 +1,9 @@
+Mon Jul 26 15:16:07 2004 Owen Taylor <otaylor@redhat.com>
+
+ * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst[123]):
+ Match backtrack context against the output glyphs not
+ the input glyphs (#145174, Aamir Wali)
+
Mon Jul 26 14:49:22 2004 Owen Taylor <otaylor@redhat.com>
* ftxgdef.[ch] otlbuffer.[ch]: Make Check_Property() take a
diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6
index 293df95b..fa3fbdcf 100644
--- a/ChangeLog.pre-1-6
+++ b/ChangeLog.pre-1-6
@@ -1,3 +1,9 @@
+Mon Jul 26 15:16:07 2004 Owen Taylor <otaylor@redhat.com>
+
+ * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst[123]):
+ Match backtrack context against the output glyphs not
+ the input glyphs (#145174, Aamir Wali)
+
Mon Jul 26 14:49:22 2004 Owen Taylor <otaylor@redhat.com>
* ftxgdef.[ch] otlbuffer.[ch]: Make Check_Property() take a
diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8
index 293df95b..fa3fbdcf 100644
--- a/ChangeLog.pre-1-8
+++ b/ChangeLog.pre-1-8
@@ -1,3 +1,9 @@
+Mon Jul 26 15:16:07 2004 Owen Taylor <otaylor@redhat.com>
+
+ * pango/opentype/ftxgsub.c (Lookup_ChainContextSubst[123]):
+ Match backtrack context against the output glyphs not
+ the input glyphs (#145174, Aamir Wali)
+
Mon Jul 26 14:49:22 2004 Owen Taylor <otaylor@redhat.com>
* ftxgdef.[ch] otlbuffer.[ch]: Make Check_Property() take a
diff --git a/pango/opentype/ftxgsub.c b/pango/opentype/ftxgsub.c
index 8da8ff47..52b498c9 100644
--- a/pango/opentype/ftxgsub.c
+++ b/pango/opentype/ftxgsub.c
@@ -3207,7 +3207,7 @@
/* check whether context is too long; it is a first guess only */
- if ( bgc > buffer->in_pos || buffer->in_pos + igc + lgc > buffer->in_length )
+ if ( bgc > buffer->out_pos || buffer->in_pos + igc + lgc > buffer->in_length )
goto next_chainsubrule;
if ( bgc )
@@ -3215,9 +3215,9 @@
/* since we don't know in advance the number of glyphs to inspect,
we search backwards for matches in the backtrack glyph array */
- for ( i = 0, j = buffer->in_pos - 1; i < bgc; i++, j-- )
+ for ( i = 0, j = buffer->out_pos - 1; i < bgc; i++, j-- )
{
- while ( CHECK_Property( gdef, IN_ITEM( j ), flags, &property ) )
+ while ( CHECK_Property( gdef, OUT_ITEM( j ), flags, &property ) )
{
if ( error && error != TTO_Err_Not_Covered )
return error;
@@ -3237,7 +3237,7 @@
Backtrack offsets - 3 2 1 0
Lookahead offsets - 0 1 2 3 */
- if ( IN_GLYPH( j ) != curr_csr.Backtrack[i] )
+ if ( OUT_GLYPH( j ) != curr_csr.Backtrack[i] )
goto next_chainsubrule;
}
}
@@ -3373,7 +3373,7 @@
/* check whether context is too long; it is a first guess only */
- if ( bgc > buffer->in_pos || buffer->in_pos + igc + lgc > buffer->in_length )
+ if ( bgc > buffer->out_pos || buffer->in_pos + igc + lgc > buffer->in_length )
goto next_chainsubclassrule;
if ( bgc )
@@ -3384,9 +3384,9 @@
bc = ccsr.Backtrack;
- for ( i = 0, j = buffer->in_pos - 1; i < bgc; i++, j-- )
+ for ( i = 0, j = buffer->out_pos - 1; i < bgc; i++, j-- )
{
- while ( CHECK_Property( gdef, IN_ITEM( j ), flags, &property ) )
+ while ( CHECK_Property( gdef, OUT_ITEM( j ), flags, &property ) )
{
if ( error && error != TTO_Err_Not_Covered )
goto End1;
@@ -3400,7 +3400,7 @@
{
/* Keeps us from having to do this for each rule */
- error = Get_Class( &ccsf2->BacktrackClassDef, IN_GLYPH( j ),
+ error = Get_Class( &ccsf2->BacktrackClassDef, OUT_GLYPH( j ),
&backtrack_classes[i], NULL );
if ( error && error != TTO_Err_Not_Covered )
goto End1;
@@ -3528,7 +3528,7 @@
/* check whether context is too long; it is a first guess only */
- if ( bgc > buffer->in_pos || buffer->in_pos + igc + lgc > buffer->in_length )
+ if ( bgc > buffer->out_pos || buffer->in_pos + igc + lgc > buffer->in_length )
return TTO_Err_Not_Covered;
if ( bgc )
@@ -3538,9 +3538,9 @@
bc = ccsf3->BacktrackCoverage;
- for ( i = 0, j = buffer->in_pos - 1; i < bgc; i++, j-- )
+ for ( i = 0, j = buffer->out_pos - 1; i < bgc; i++, j-- )
{
- while ( CHECK_Property( gdef, IN_ITEM( j ), flags, &property ) )
+ while ( CHECK_Property( gdef, OUT_ITEM( j ), flags, &property ) )
{
if ( error && error != TTO_Err_Not_Covered )
return error;
@@ -3550,7 +3550,7 @@
j--;
}
- error = Coverage_Index( &bc[i], IN_GLYPH( j ), &index );
+ error = Coverage_Index( &bc[i], OUT_GLYPH( j ), &index );
if ( error )
return error;
}