diff options
author | Diego Borghetti <bdiego@gmail.com> | 2009-05-09 01:24:58 +0400 |
---|---|---|
committer | Diego Borghetti <bdiego@gmail.com> | 2009-05-09 01:24:58 +0400 |
commit | fc1036d206bc23b371e4e04e5e257feee7f824b3 (patch) | |
tree | 32de79454b6c376abd6992282fe8d4f1cd830629 /source/blender/blenfont/intern/blf_dir.c | |
parent | 749a9083318f7d59999c1f3ce891db658e089772 (diff) |
Add support for attach a file with metrics information to the font.
Fonts like Type 1, have one file with the glyph image and another
file with metrics and kerning information, this try to search if the font
have this information and load (try open the same file but with the .afm
and .pfm extension).
Also add a function to load the same information from memory, just in case
that in some point we add a font like this.
Diffstat (limited to 'source/blender/blenfont/intern/blf_dir.c')
-rw-r--r-- | source/blender/blenfont/intern/blf_dir.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/source/blender/blenfont/intern/blf_dir.c b/source/blender/blenfont/intern/blf_dir.c index d87262522d8..92dfe8457b0 100644 --- a/source/blender/blenfont/intern/blf_dir.c +++ b/source/blender/blenfont/intern/blf_dir.c @@ -173,3 +173,37 @@ int blf_dir_split(const char *str, char *file, int *size) } return(0); } + +/* Some font have additional file with metrics information, + * in general, the extension of the file is: .afm or .pfm + */ +char *blf_dir_metrics_search(char *filename) +{ + char *mfile; + char *s; + + mfile= BLI_strdup(filename); + s= strrchr(mfile, '.'); + if (s) { + if (strlen(s) < 4) { + MEM_freeN(mfile); + return(NULL); + } + s++; + s[0]= 'a'; + s[1]= 'f'; + s[2]= 'm'; + + /* first check .afm */ + if (BLI_exist(s)) + return(s); + + /* and now check .pfm */ + s[0]= 'p'; + + if (BLI_exist(s)) + return(s); + } + MEM_freeN(mfile); + return(NULL); +} |