cstratak / rpms / blender

Forked from rpms/blender 3 years ago
Clone
Jochen Schmitt 7e88d04
diff -up blender-2.65/source/blender/blenfont/intern/blf_translation.c.droid blender-2.65/source/blender/blenfont/intern/blf_translation.c
Jochen Schmitt 7e88d04
--- blender-2.65/source/blender/blenfont/intern/blf_translation.c.droid	2012-12-10 20:25:45.000000000 +0100
Jochen Schmitt 7e88d04
+++ blender-2.65/source/blender/blenfont/intern/blf_translation.c	2012-12-11 22:22:12.890424604 +0100
Jochen Schmitt 7e88d04
@@ -53,18 +53,12 @@ static int unifont_size = 0;
Jochen Schmitt e30df76
 
Jochen Schmitt e30df76
 unsigned char *BLF_get_unifont(int *unifont_size_r)
Jochen Schmitt e30df76
 {
Jochen Schmitt 7e88d04
-	if (unifont_ttf == NULL) {
Jochen Schmitt e30df76
-		char *fontpath = BLI_get_folder(BLENDER_DATAFILES, "fonts");
Jochen Schmitt e30df76
-		if (fontpath) {
Jochen Schmitt e30df76
-			char unifont_path[1024];
Jochen Schmitt e30df76
-
Jochen Schmitt e30df76
-			BLI_snprintf(unifont_path, sizeof(unifont_path), "%s/%s", fontpath, unifont_filename);
Jochen Schmitt 7e88d04
+	const char *fontpath = "/usr/share/fonts/google-droid";
Jochen Schmitt 7e88d04
 
Jochen Schmitt e30df76
-			unifont_ttf = (unsigned char *)BLI_file_ungzip_to_mem(unifont_path, &unifont_size);
Jochen Schmitt e30df76
-		}
Jochen Schmitt e30df76
-		else {
Jochen Schmitt e30df76
-			printf("%s: 'fonts' data path not found for international font, continuing\n", __func__);
Jochen Schmitt e30df76
-		}
Jochen Schmitt 7e88d04
+	if (unifont_ttf == NULL) {
Jochen Schmitt 7e88d04
+		char unifont_path[1024];
Jochen Schmitt 7e88d04
+		BLI_snprintf(unifont_path, sizeof(unifont_path), "%s/%s", fontpath, unifont_filename);
Jochen Schmitt 7e88d04
+		unifont_ttf = (unsigned char *)BLI_file_to_mem(unifont_path, &unifont_size);
Jochen Schmitt 7e88d04
 	}
Jochen Schmitt e30df76
 
Jochen Schmitt 7e88d04
 	*unifont_size_r = unifont_size;
Jochen Schmitt 7e88d04
diff -up blender-2.65/source/blender/blenlib/BLI_fileops.h.droid blender-2.65/source/blender/blenlib/BLI_fileops.h
Jochen Schmitt 7e88d04
--- blender-2.65/source/blender/blenlib/BLI_fileops.h.droid	2012-12-10 20:25:44.000000000 +0100
Jochen Schmitt 7e88d04
+++ blender-2.65/source/blender/blenlib/BLI_fileops.h	2012-12-11 22:04:17.442332100 +0100
Jochen Schmitt e30df76
@@ -81,6 +81,8 @@ int    BLI_file_touch(const char *file);
Jochen Schmitt e30df76
 int    BLI_file_gzip(const char *from, const char *to);
Jochen Schmitt e30df76
 char  *BLI_file_ungzip_to_mem(const char *from_file, int *size_r);
Jochen Schmitt e30df76
 
Jochen Schmitt e30df76
+char *BLI_file_to_mem(const char *from_file, int *size_r);
Jochen Schmitt e30df76
+
Jochen Schmitt e30df76
 size_t BLI_file_descriptor_size(int file);
Jochen Schmitt e30df76
 size_t BLI_file_size(const char *file);
Jochen Schmitt e30df76
 
Jochen Schmitt 7e88d04
diff -up blender-2.65/source/blender/blenlib/intern/fileops.c.droid blender-2.65/source/blender/blenlib/intern/fileops.c
Jochen Schmitt 7e88d04
--- blender-2.65/source/blender/blenlib/intern/fileops.c.droid	2012-12-10 20:25:44.000000000 +0100
Jochen Schmitt 7e88d04
+++ blender-2.65/source/blender/blenlib/intern/fileops.c	2012-12-11 22:04:17.442332100 +0100
Jochen Schmitt 7e88d04
@@ -155,6 +155,31 @@ char *BLI_file_ungzip_to_mem(const char
Jochen Schmitt e30df76
 	return mem;
Jochen Schmitt e30df76
 }
Jochen Schmitt e30df76
 
Jochen Schmitt e30df76
+char *BLI_file_to_mem(const char *from_file, int *size_r)
Jochen Schmitt e30df76
+{
Jochen Schmitt e30df76
+        int file;
Jochen Schmitt e30df76
+	int size = 0;
Jochen Schmitt e30df76
+	char *mem = NULL;
Jochen Schmitt e30df76
+
Jochen Schmitt e30df76
+	file = BLI_open(from_file, O_RDONLY, 0);
Jochen Schmitt e30df76
+
Jochen Schmitt e30df76
+	size = BLI_file_descriptor_size(file);
Jochen Schmitt e30df76
+       
Jochen Schmitt e30df76
+	if (size == 0) {
Jochen Schmitt e30df76
+	  close (file);
Jochen Schmitt e30df76
+	  return 0;
Jochen Schmitt e30df76
+	}
Jochen Schmitt e30df76
+      
Jochen Schmitt e30df76
+	mem = MEM_callocN(size, "BLI_ungzip_to_mem");
Jochen Schmitt e30df76
+		
Jochen Schmitt e30df76
+	read(file, mem, size);
Jochen Schmitt e30df76
+	
Jochen Schmitt e30df76
+	close (file);
Jochen Schmitt e30df76
+
Jochen Schmitt e30df76
+	*size_r = size;
Jochen Schmitt e30df76
+
Jochen Schmitt e30df76
+	return mem;
Jochen Schmitt e30df76
+}
Jochen Schmitt e30df76
 
Jochen Schmitt e30df76
 /* return 1 when file can be written */
Jochen Schmitt e30df76
 int BLI_file_is_writable(const char *filename)