Thumbnails: Add translations to font preview.

Not much to say, this is pretty straightforward.
We just have to add current locale to thumbnails 'signature', so that
previews get re-generated when we change locale...

Tested with Japanese and French.

Btw, I do not really understand why using BLF in ImBuf is badlevel... :/
This commit is contained in:
Bastien Montagne 2015-04-10 15:31:38 +02:00
parent 8a99dc2324
commit f75bbe27e2
4 changed files with 20 additions and 9 deletions

View File

@ -45,6 +45,7 @@
#include "blf_internal_types.h"
#include "BLF_api.h"
#include "BLF_translation.h"
#include "BLI_strict_flags.h"
@ -97,7 +98,7 @@ void BLF_thumb_preview(
font->pos[1] -= font->glyph_cache->ascender * 1.1f;
blf_font_buffer(font, draw_str[i]);
blf_font_buffer(font, BLF_translate_do(BLF_I18NCONTEXT_DEFAULT, draw_str[i]));
}
blf_font_free(font);

View File

@ -82,6 +82,7 @@ void IMB_thumb_overlay_blend(unsigned int *thumb, int width, int height, float
/* special function for previewing fonts */
ImBuf *IMB_thumb_load_font(const char *filename, unsigned int x, unsigned int y);
const char *IMB_thumb_load_font_get_language(void);
#ifdef __cplusplus
}

View File

@ -483,18 +483,22 @@ void IMB_thumb_delete(const char *path, ThumbSize size)
/* create the thumb if necessary and manage failed and old thumbs */
ImBuf *IMB_thumb_manage(const char *path, ThumbSize size, ThumbSource source)
ImBuf *IMB_thumb_manage(const char *org_path, ThumbSize size, ThumbSource source)
{
char thumb_path[FILE_MAX];
char thumb_name[40];
char uri[URI_MAX];
const char *file_path;
const char *path;
char path_buff[FILE_MAX];
BLI_stat_t st;
ImBuf *img = NULL;
file_path = path;
UNUSED_VARS(path_buff);
path = file_path = org_path;
if (source == THB_SOURCE_FONT) {
BLI_snprintf(path_buff, sizeof(path_buff), "%s.%s", org_path, IMB_thumb_load_font_get_language());
path = path_buff;
}
if (BLI_stat(file_path, &st) == -1) {
return NULL;

View File

@ -34,18 +34,19 @@
/* XXX, bad level call */
#include "../../blenfont/BLF_api.h"
#include "../../blenfont/BLF_translation.h" /* 'N_' macro and BLF_lang_get()... */
struct ImBuf *IMB_thumb_load_font(const char *filename, unsigned int x, unsigned int y)
{
const int font_size = y / 4;
const char *thumb_str[] = {
"AaBbCc",
N_("AaBbCc"),
"The quick",
"brown fox",
"jumps over",
"the lazy dog",
N_("The quick"),
N_("brown fox"),
N_("jumps over"),
N_("the lazy dog"),
};
struct ImBuf *ibuf;
@ -71,3 +72,7 @@ struct ImBuf *IMB_thumb_load_font(const char *filename, unsigned int x, unsigned
return ibuf;
}
const char *IMB_thumb_load_font_get_language(void)
{
return BLF_lang_get();
}