diff options
author | atlka <atlka@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-16 10:14:04 +0000 |
---|---|---|
committer | atlka <atlka@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-10-16 10:14:04 +0000 |
commit | dbff3945fd637a62876ae247b1c8a335dc0eba54 (patch) | |
tree | 27ae3c790e6f5ddd39db4f66fa5447108a8d6e11 /libvo | |
parent | 48f75aa656f4072f515727ed5ac907d444239c1c (diff) | |
download | mpv-dbff3945fd637a62876ae247b1c8a335dc0eba54.tar.bz2 mpv-dbff3945fd637a62876ae247b1c8a335dc0eba54.tar.xz |
read font files from the same dir as font.desc or as specified in font.desc
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2223 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r-- | libvo/font_load.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/libvo/font_load.c b/libvo/font_load.c index c19c432537..05f5250c34 100644 --- a/libvo/font_load.c +++ b/libvo/font_load.c @@ -45,6 +45,7 @@ unsigned char sor[1024]; unsigned char sor2[1024]; font_desc_t *desc; FILE *f; +char *dn; struct stat fstate; char section[64]; int i,j; @@ -57,9 +58,19 @@ memset(desc,0,sizeof(font_desc_t)); f=fopen(fname,"rt");if(!f){ printf("font: can't open file: %s\n",fname); return NULL;} -desc->fpath=get_path("font/"); +i = strlen (fname) - 9; +if ((dn = malloc(i+1))!=NULL){ + strncpy (dn, fname, i); + dn[i]='\0'; +} + +desc->fpath = dn; // search in the same dir as fonts.desc + +// desc->fpath=get_path("font/"); +// if (stat(desc->fpath, &fstate)!=0) desc->fpath=DATADIR"/font"; + + -if (stat(desc->fpath, &fstate)!=0) desc->fpath=DATADIR"/font"; // set up some defaults, and erase table desc->charspace=2; @@ -120,6 +131,8 @@ while(fgets(sor,1020,f)){ if(strcmp(section,"[fpath]")==0){ if(pdb==1){ + if (desc->fpath) + free (desc->fpath); // release previously allocated memory desc->fpath=strdup(p[0]); continue; } |