diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-18 22:20:25 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-18 22:20:25 -0700 |
commit | 0a9d06e2b5cf75c3d6ba958026bfdf4745f576d6 (patch) | |
tree | bda73f0de3896a97ff4231e4600fccd89a3f9118 /src/sfnt/sfdriver.c | |
parent | 049d6fea481044fcc000e7782e5bc7046fc70844 (diff) | |
download | android_external_freetype-0a9d06e2b5cf75c3d6ba958026bfdf4745f576d6.tar.gz android_external_freetype-0a9d06e2b5cf75c3d6ba958026bfdf4745f576d6.tar.bz2 android_external_freetype-0a9d06e2b5cf75c3d6ba958026bfdf4745f576d6.zip |
auto import //branches/master/...@140412
Diffstat (limited to 'src/sfnt/sfdriver.c')
-rw-r--r-- | src/sfnt/sfdriver.c | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/src/sfnt/sfdriver.c b/src/sfnt/sfdriver.c index 5ba22a6..142ef76 100644 --- a/src/sfnt/sfdriver.c +++ b/src/sfnt/sfdriver.c @@ -4,7 +4,7 @@ /* */ /* High-level SFNT driver interface (body). */ /* */ -/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007 by */ +/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -151,10 +151,35 @@ } + static FT_UInt + sfnt_get_name_index( TT_Face face, + FT_String* glyph_name ) + { + FT_Face root = &face->root; + FT_Long i; + + + for ( i = 0; i < root->num_glyphs; i++ ) + { + FT_String* gname; + FT_Error error = tt_face_get_ps_name( face, i, &gname ); + + + if ( error ) + continue; + + if ( !ft_strcmp( glyph_name, gname ) ) + return (FT_UInt)i; + } + + return 0; + } + + static const FT_Service_GlyphDictRec sfnt_service_glyph_dict = { (FT_GlyphDict_GetNameFunc) sfnt_get_glyph_name, - (FT_GlyphDict_NameIndexFunc)NULL + (FT_GlyphDict_NameIndexFunc)sfnt_get_name_index }; #endif /* TT_CONFIG_OPTION_POSTSCRIPT_NAMES */ |