Implement -glyphIsEncoded:.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@15927 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Alexander Malmberg 2003-02-10 17:46:06 +00:00
parent 3cdcb6e0b9
commit 946dbb2ec6
2 changed files with 31 additions and 9 deletions

View file

@ -1,3 +1,8 @@
2003-02-10 18:44 Alexander Malmberg <alexander@malmberg.org>
* Source/art/ftfont.m: Implement -glyphIsEncoded:.
(add_face): Avoid calling malloc(0).
2003-02-09 Adam Fedor <fedor@gnu.org>
* Source/gsc/GSStreamContext.m (-GSShowGlyphs::): Implement to use

View file

@ -345,16 +345,19 @@ static void add_face(NSString *family, int family_weight,
sizes = [d objectForKey: @"ScreenFonts"];
fi->num_sizes = [sizes count];
fi->sizes = malloc(sizeof(fi->sizes[0])*[sizes count]);
e = [sizes keyEnumerator];
i = 0;
while ((size = [e nextObject]))
if (fi->num_sizes)
{
fi->sizes[i].pixel_size = [size intValue];
fi->sizes[i].files = fix_path(path,[sizes objectForKey: size]);
NSDebugLLog(@"ftfont",@"%@ size %i files |%@|\n",
fontName,fi->sizes[i].pixel_size,fi->sizes[i].files);
i++;
fi->sizes = malloc(sizeof(fi->sizes[0])*[sizes count]);
e = [sizes keyEnumerator];
i = 0;
while ((size = [e nextObject]))
{
fi->sizes[i].pixel_size = [size intValue];
fi->sizes[i].files = fix_path(path,[sizes objectForKey: size]);
NSDebugLLog(@"ftfont",@"%@ size %i files |%@|\n",
fontName,fi->sizes[i].pixel_size,fi->sizes[i].files);
i++;
}
}
}
@ -1442,6 +1445,20 @@ static FT_Error ft_get_face(FTC_FaceID fid, FT_Library lib, FT_Pointer data, FT_
}
-(BOOL) glyphIsEncoded: (NSGlyph)glyph
{
FT_Face face;
if (FTC_Manager_Lookup_Size(ftc_manager, &imgd.font, &face, 0))
return NO;
if (FT_Load_Glyph(face, glyph, 0))
return NO;
return YES;
}
- (NSSize) advancementForGlyph: (NSGlyph)glyph
{
if (screenFont)