3781 {
3787
3789
3790
3791 if ( !
p ||
face->cmap_size < 4 )
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3804
3806 FT_TRACE4((
"tt_face_build_cmaps: %d cmaps\n", num_cmaps ));
3807
3809 for ( ; num_cmaps > 0 &&
p + 8 <=
limit; num_cmaps-- )
3810 {
3813
3814
3818 charmap.
encoding = FT_ENCODING_NONE;
3820
3821 if (
offset && offset <= face->cmap_size - 2 )
3822 {
3827
3828
3829 for ( ; *pclazz; pclazz++ )
3830 {
3831 clazz = *pclazz;
3833 {
3836
3837
3840
3842
3844 {
3845
3847 }
3848
3849 if ( !
valid.validator.error )
3850 {
3852
3853
3854
3855
3856
3857
3859 cmap, &charmap, &ttcmap ) )
3860 {
3861
3862
3864 }
3865 }
3866 else
3867 {
3869 " broken cmap sub-table ignored\n" ));
3870 }
3871 break;
3872 }
3873 }
3874
3875 if ( !*pclazz )
3876 {
3878 " unsupported cmap sub-table ignored\n" ));
3879 }
3880 }
3881 }
3882
3884 }
#define FT_TRACE0(varformat)
#define FT_TRACE4(varformat)
#define FT_FACE_LIBRARY(x)
FT_CMap_New(FT_CMap_Class clazz, FT_Pointer init_data, FT_CharMap charmap, FT_CMap *acmap)
ft_validator_init(FT_Validator valid, const FT_Byte *base, const FT_Byte *limit, FT_ValidationLevel level)
GLenum GLuint GLint GLenum face
TT_CMap_ValidateFunc validate
static const TT_CMap_Class tt_cmap_classes[]
struct TT_CMapRec_ * TT_CMap