... |
... |
@@ -833,7 +833,7 @@ |
833
|
833
|
|
834
|
834
|
if ( loc + 1 >= end )
|
835
|
835
|
{
|
836
|
|
- printf( "\nglyf program %hd: invalid offset (%d)\n", i, loc );
|
|
836
|
+ printf( "\nglyf %hd: invalid offset (%d)\n", i, loc );
|
837
|
837
|
continue;
|
838
|
838
|
}
|
839
|
839
|
|
... |
... |
@@ -849,7 +849,7 @@ |
849
|
849
|
{
|
850
|
850
|
if ( loc + 1 >= end )
|
851
|
851
|
{
|
852
|
|
- printf( "\nglyf program %hd: invalid offset (%d)\n", i, loc );
|
|
852
|
+ printf( "\nglyf %hd: invalid offset (%d)\n", i, loc );
|
853
|
853
|
goto Continue;
|
854
|
854
|
}
|
855
|
855
|
|
... |
... |
@@ -872,7 +872,9 @@ |
872
|
872
|
|
873
|
873
|
if ( loc + 1 >= end )
|
874
|
874
|
{
|
875
|
|
- printf( "\nglyf program %hd: invalid offset (%d)\n", i, loc );
|
|
875
|
+ /* zero-contour glyphs can have no data */
|
|
876
|
+ if ( len )
|
|
877
|
+ printf( "\nglyf %hd: invalid offset (%d)\n", i, loc );
|
876
|
878
|
continue;
|
877
|
879
|
}
|
878
|
880
|
|
... |
... |
@@ -885,12 +887,12 @@ |
885
|
887
|
|
886
|
888
|
if ( loc + len > end )
|
887
|
889
|
{
|
888
|
|
- printf( "\nglyf program %hd: invalid size (%d)\n", i, len );
|
|
890
|
+ printf( "\nglyf %hd: invalid size (%d)\n", i, len );
|
889
|
891
|
continue;
|
890
|
892
|
}
|
891
|
893
|
|
892
|
894
|
snprintf( tag, sizeof ( tag ), "%04hx", i );
|
893
|
|
- printf( "\nglyf program %hd (%.4s)", i, tag );
|
|
895
|
+ printf( "\nglyf %hd (%.4s)", i, tag );
|
894
|
896
|
Print_Bytecode( buffer + loc, len, tag );
|
895
|
897
|
|
896
|
898
|
Continue:
|
... |
... |
@@ -988,7 +990,7 @@ |
988
|
990
|
|
989
|
991
|
if ( loc + 1 >= end )
|
990
|
992
|
{
|
991
|
|
- printf( "\nglyf program %hd: invalid offset (%d)\n", i, loc );
|
|
993
|
+ printf( "\nglyf %hd: invalid offset (%d)\n", i, loc );
|
992
|
994
|
continue;
|
993
|
995
|
}
|
994
|
996
|
|
... |
... |
@@ -1001,7 +1003,7 @@ |
1001
|
1003
|
|
1002
|
1004
|
if ( loc + 1 >= end )
|
1003
|
1005
|
{
|
1004
|
|
- printf( "\nglyf program %hd: invalid offset (%d)\n", i, loc );
|
|
1006
|
+ printf( "\nglyf %hd: invalid offset (%d)\n", i, loc );
|
1005
|
1007
|
continue;
|
1006
|
1008
|
}
|
1007
|
1009
|
|
... |
... |
@@ -1018,7 +1020,9 @@ |
1018
|
1020
|
|
1019
|
1021
|
if ( loc + 1 >= end )
|
1020
|
1022
|
{
|
1021
|
|
- printf( "\nglyf program %hd: invalid offset (%d)\n", i, loc );
|
|
1023
|
+ /* zero-contour glyphs can have no data */
|
|
1024
|
+ if ( len )
|
|
1025
|
+ printf( "\nglyf %hd: invalid offset (%d)\n", i, loc );
|
1022
|
1026
|
continue;
|
1023
|
1027
|
}
|
1024
|
1028
|
|
... |
... |
@@ -1028,7 +1032,7 @@ |
1028
|
1032
|
|
1029
|
1033
|
if ( len >= end )
|
1030
|
1034
|
{
|
1031
|
|
- printf( "\nglyf program %hd: invalid offset (%d)\n", i, loc );
|
|
1035
|
+ printf( "\nglyf %hd: invalid offset (%d)\n", i, loc );
|
1032
|
1036
|
continue;
|
1033
|
1037
|
}
|
1034
|
1038
|
|