summaryrefslogtreecommitdiffstats
path: root/src/sfnt/sfdriver.c
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-18 22:20:25 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-18 22:20:25 -0700
commit0a9d06e2b5cf75c3d6ba958026bfdf4745f576d6 (patch)
treebda73f0de3896a97ff4231e4600fccd89a3f9118 /src/sfnt/sfdriver.c
parent049d6fea481044fcc000e7782e5bc7046fc70844 (diff)
downloadandroid_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.c29
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 */