diff -up blender-2.64/source/blender/blenfont/intern/blf_translation.c.droid blender-2.64/source/blender/blenfont/intern/blf_translation.c
--- blender-2.64/source/blender/blenfont/intern/blf_translation.c.droid 2012-10-17 14:14:42.976000002 +0200
+++ blender-2.64/source/blender/blenfont/intern/blf_translation.c 2012-10-18 09:49:29.559862273 +0200
@@ -57,27 +57,23 @@
#include "DNA_userdef_types.h" /* For user settings. */
#ifdef WITH_INTERNATIONAL
-static const char unifont_filename[] = "droidsans.ttf.gz";
+static const char unifont_filename[] = "droidsans.ttf";
static unsigned char *unifont_ttf = NULL;
static int unifont_size = 0;
unsigned char *BLF_get_unifont(int *unifont_size_r)
{
+ const char *fontpath = "/usr/share/fonts/google-droid";
+
if (unifont_ttf == NULL) {
- char *fontpath = BLI_get_folder(BLENDER_DATAFILES, "fonts");
- if (fontpath) {
- char unifont_path[1024];
-
- BLI_snprintf(unifont_path, sizeof(unifont_path), "%s/%s", fontpath, unifont_filename);
-
- unifont_ttf = (unsigned char *)BLI_file_ungzip_to_mem(unifont_path, &unifont_size);
- }
- else {
- printf("%s: 'fonts' data path not found for international font, continuing\n", __func__);
- }
- }
+ char unifont_path[1024];
+
+ BLI_snprintf(unifont_path, sizeof(unifont_path), "%s/%s", fontpath, unifont_filename);
- *unifont_size_r = unifont_size;
+ unifont_ttf = (unsigned char *)BLI_file_to_mem(unifont_path, &unifont_size);
+
+ *unifont_size_r = unifont_size;
+ }
return unifont_ttf;
}
diff -up blender-2.64/source/blender/blenlib/BLI_fileops.h.droid blender-2.64/source/blender/blenlib/BLI_fileops.h
--- blender-2.64/source/blender/blenlib/BLI_fileops.h.droid 2012-10-18 08:59:41.823290185 +0200
+++ blender-2.64/source/blender/blenlib/BLI_fileops.h 2012-10-18 09:26:35.989470635 +0200
@@ -81,6 +81,8 @@ int BLI_file_touch(const char *file);
int BLI_file_gzip(const char *from, const char *to);
char *BLI_file_ungzip_to_mem(const char *from_file, int *size_r);
+char *BLI_file_to_mem(const char *from_file, int *size_r);
+
size_t BLI_file_descriptor_size(int file);
size_t BLI_file_size(const char *file);
diff -up blender-2.64/source/blender/blenlib/intern/fileops.c.droid blender-2.64/source/blender/blenlib/intern/fileops.c
--- blender-2.64/source/blender/blenlib/intern/fileops.c.droid 2012-10-18 08:46:31.095218862 +0200
+++ blender-2.64/source/blender/blenlib/intern/fileops.c 2012-10-18 10:19:08.366408308 +0200
@@ -153,6 +153,31 @@ char *BLI_file_ungzip_to_mem(const char
return mem;
}
+char *BLI_file_to_mem(const char *from_file, int *size_r)
+{
+ int file;
+ int size = 0;
+ char *mem = NULL;
+
+ file = BLI_open(from_file, O_RDONLY, 0);
+
+ size = BLI_file_descriptor_size(file);
+
+ if (size == 0) {
+ close (file);
+ return 0;
+ }
+
+ mem = MEM_callocN(size, "BLI_ungzip_to_mem");
+
+ read(file, mem, size);
+
+ close (file);
+
+ *size_r = size;
+
+ return mem;
+}
/* return 1 when file can be written */
int BLI_file_is_writable(const char *filename)