Note that the second chunk this patch is mangled - the change should go on the Get_Class not the Coverage_Index call. diff -uprw /home/otaylor/cvs/gnome2/pango-head/pango/opentype/ftxgpos.c ./opentype-munge/ftxgpos.c --- /home/otaylor/cvs/gnome2/pango-head/pango/opentype/ftxgpos.c 2003-07-25 12:59:44.000000000 -0400 +++ ./opentype-munge/ftxgpos.c 2003-07-25 12:55:55.000000000 -0400 @@ -1676,11 +1683,11 @@ error = Get_Class( &ppf2->ClassDef1, in->string[first_pos], &cl1, NULL ); - if ( error ) + if ( error && error != TTO_Err_Not_Covered ) return error; error = Get_Class( &ppf2->ClassDef2, in->string[in->pos], &cl2, NULL ); - if ( error ) + if ( error && error != TTO_Err_Not_Covered ) return error; c1r = &ppf2->Class1Record[cl1]; @@ -4027,7 +4027,7 @@ do any lookup at all. */ error = Coverage_Index( &cpf2->Coverage, in->string[in->pos], &index ); - if ( error ) + if ( error && error != TTO_Err_Not_Covered ) goto End; error = Get_Class( &cpf2->ClassDef, in->string[in->pos], @@ -5407,7 +5414,7 @@ error = Get_Class( &ccpf2->InputClassDef, in->string[in->pos], &input_classes[0], NULL ); - if ( error ) + if ( error && error != TTO_Err_Not_Covered ) goto End1; cpcs = &ccpf2->ChainPosClassSet[input_classes[0]]; diff -uprw /home/otaylor/cvs/gnome2/pango-head/pango/opentype/ftxgsub.c ./opentype-munge/ftxgsub.c --- /home/otaylor/cvs/gnome2/pango-head/pango/opentype/ftxgsub.c 2003-07-25 12:59:44.000000000 -0400 +++ ./opentype-munge/ftxgsub.c 2003-07-25 12:55:55.000000000 -0400 @@ -2197,7 +2197,7 @@ error = Get_Class( &csf2->ClassDef, in->string[in->pos], &classes[0], NULL ); - if ( error ) + if ( error && error != TTO_Err_Not_Covered ) goto End; known_classes = 0; @@ -3584,7 +3546,7 @@ error = Get_Class( &ccsf2->InputClassDef, in->string[in->pos], &input_classes[0], NULL ); - if ( error ) + if ( error && error != TTO_Err_Not_Covered ) goto End1; cscs = &ccsf2->ChainSubClassSet[input_classes[0]];