find more fonts, no crash on failed load, localized sample text, sizing lost for now
This commit is contained in:
parent
909b8f9672
commit
100e123a0d
1 changed files with 38 additions and 12 deletions
|
|
@ -1148,7 +1148,7 @@ static SDL_Surface * img_tools[NUM_TOOLS], * img_tool_names[NUM_TOOLS];
|
||||||
|
|
||||||
#define MAX_STAMPS 512
|
#define MAX_STAMPS 512
|
||||||
#define MAX_BRUSHES 64
|
#define MAX_BRUSHES 64
|
||||||
#define MAX_FONTS 64
|
#define MAX_FONTS 256
|
||||||
|
|
||||||
static int num_brushes, num_stamps;
|
static int num_brushes, num_stamps;
|
||||||
static SDL_Surface * img_brushes[MAX_BRUSHES];
|
static SDL_Surface * img_brushes[MAX_BRUSHES];
|
||||||
|
|
@ -2459,6 +2459,10 @@ static void mainloop(void)
|
||||||
cur_font = cur_thing;
|
cur_font = cur_thing;
|
||||||
font_scroll = thing_scroll;
|
font_scroll = thing_scroll;
|
||||||
|
|
||||||
|
char font_tux_text[512];
|
||||||
|
snprintf(font_tux_text, sizeof font_tux_text, "%s, %s", TTF_FontFaceFamilyName(user_fonts[cur_font]), TTF_FontFaceStyleName(user_fonts[cur_font]));
|
||||||
|
draw_tux_text(TUX_GREAT, font_tux_text, 1);
|
||||||
|
|
||||||
if (do_draw)
|
if (do_draw)
|
||||||
draw_fonts();
|
draw_fonts();
|
||||||
|
|
||||||
|
|
@ -6422,6 +6426,19 @@ static void setup(int argc, char * argv[])
|
||||||
|
|
||||||
loadfonts(DATA_PREFIX "fonts", 1);
|
loadfonts(DATA_PREFIX "fonts", 1);
|
||||||
|
|
||||||
|
#ifdef WIN32
|
||||||
|
// add Windows font dir here
|
||||||
|
#else
|
||||||
|
loadfonts("/usr/share/feh/fonts", 0);
|
||||||
|
loadfonts("/usr/share/fonts", 0);
|
||||||
|
loadfonts("/usr/share/texmf/fonts", 0);
|
||||||
|
loadfonts("/usr/share/grace/fonts/type1", 0);
|
||||||
|
loadfonts("/usr/share/hatman/fonts", 0);
|
||||||
|
loadfonts("/usr/share/icewm/themes/jim-mac", 0);
|
||||||
|
loadfonts("/usr/share/vlc/skins2/fonts", 0);
|
||||||
|
loadfonts("/usr/share/xplanet/fonts", 0);
|
||||||
|
#endif
|
||||||
|
|
||||||
homedirdir = get_fname("fonts");
|
homedirdir = get_fname("fonts");
|
||||||
loadfonts(homedirdir, 0);
|
loadfonts(homedirdir, 0);
|
||||||
free(homedirdir);
|
free(homedirdir);
|
||||||
|
|
@ -7406,7 +7423,7 @@ static void draw_fonts(void)
|
||||||
|
|
||||||
if (font < num_fonts)
|
if (font < num_fonts)
|
||||||
{
|
{
|
||||||
tmp_surf = TTF_RenderUTF8_Blended(user_fonts[font], "A", black);
|
tmp_surf = TTF_RenderUTF8_Blended(user_fonts[font], gettext("ag"), black);
|
||||||
|
|
||||||
src.x = (tmp_surf->w - 48) / 2;
|
src.x = (tmp_surf->w - 48) / 2;
|
||||||
src.y = (tmp_surf->h - 48) / 2;
|
src.y = (tmp_surf->h - 48) / 2;
|
||||||
|
|
@ -13402,8 +13419,8 @@ static void loadfonts(const char * const dir, int fatal)
|
||||||
|
|
||||||
if (num_files >= d_names_alloced)
|
if (num_files >= d_names_alloced)
|
||||||
{
|
{
|
||||||
d_names_alloced = d_names_alloced + 32;
|
d_names_alloced += 32;
|
||||||
d_names = (char * *) realloc(d_names, sizeof(char *) * d_names_alloced);
|
d_names = realloc(d_names, sizeof(char *) * d_names_alloced);
|
||||||
|
|
||||||
if (d_names == NULL)
|
if (d_names == NULL)
|
||||||
{
|
{
|
||||||
|
|
@ -13441,15 +13458,24 @@ static void loadfonts(const char * const dir, int fatal)
|
||||||
|
|
||||||
stat(fname, &sbuf);
|
stat(fname, &sbuf);
|
||||||
|
|
||||||
if (strstr(d_names[i], ".ttf") != NULL)
|
if (S_ISDIR(sbuf.st_mode))
|
||||||
|
loadfonts(fname,fatal);
|
||||||
|
if (strstr(d_names[i], ".ttf") || strstr(d_names[i], ".pfa") || strstr(d_names[i], ".pfb"))
|
||||||
{
|
{
|
||||||
/* If it has ".ttf" in the filename, assume we can try to load it: */
|
//printf("Loading font: %s/%s\n", dir, d_names[i]);
|
||||||
|
TTF_Font *font = TTF_OpenFont(fname, 36);
|
||||||
user_fonts[num_fonts++] = TTF_OpenFont(fname, 16);
|
if(font)
|
||||||
user_fonts[num_fonts++] = TTF_OpenFont(fname, 24);
|
{
|
||||||
user_fonts[num_fonts++] = TTF_OpenFont(fname, 32);
|
const char *family = TTF_FontFaceFamilyName(font);
|
||||||
user_fonts[num_fonts++] = TTF_OpenFont(fname, 48);
|
if (strstr(family, "Webdings") || strstr(family, "Dingbats") || strstr(family, "Standard Symbols"))
|
||||||
|
TTF_CloseFont(font);
|
||||||
|
else
|
||||||
|
user_fonts[num_fonts++] = font;
|
||||||
|
}
|
||||||
|
// user_fonts[num_fonts++] = TTF_OpenFont(fname, 16);
|
||||||
|
// user_fonts[num_fonts++] = TTF_OpenFont(fname, 24);
|
||||||
|
// user_fonts[num_fonts++] = TTF_OpenFont(fname, 32);
|
||||||
|
// user_fonts[num_fonts++] = TTF_OpenFont(fname, 48);
|
||||||
show_progress_bar();
|
show_progress_bar();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue