[Bf-blender-cvs] [2f46ed5] master: Fix T38325: Game Engine Bitmap fonts failed for characters >128

Campbell Barton noreply at git.blender.org
Thu Jan 23 03:30:41 CET 2014


Commit: 2f46ed5564ffb3d0550b09ee905bd37decb4a4b6
Author: Campbell Barton
Date:   Thu Jan 23 13:29:49 2014 +1100
https://developer.blender.org/rB2f46ed5564ffb3d0550b09ee905bd37decb4a4b6

Fix T38325: Game Engine Bitmap fonts failed for characters >128

===================================================================

M	source/blender/gpu/intern/gpu_draw.c

===================================================================

diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c
index 5ee30c2..7411258 100644
--- a/source/blender/gpu/intern/gpu_draw.c
+++ b/source/blender/gpu/intern/gpu_draw.c
@@ -96,7 +96,8 @@ void GPU_render_text(MTFace *tface, int mode,
 	if ((mode & GEMAT_TEXT) && (textlen>0) && tface->tpage) {
 		Image* ima = (Image *)tface->tpage;
 		ImBuf *first_ibuf;
-		int index, character;
+		const size_t textlen_st = textlen;
+		size_t index, character;
 		float centerx, centery, sizex, sizey, transx, transy, movex, movey, advance;
 		float advance_tab;
 		
@@ -127,11 +128,11 @@ void GPU_render_text(MTFace *tface, int mode,
 		advance_tab= advance * 4; /* tab width could also be an option */
 		
 		
-		for (index = 0; index < textlen; index++) {
+		for (index = 0; index < textlen_st; ) {
 			float uv[4][2];
 
 			// lets calculate offset stuff
-			character = textstr[index];
+			character = BLI_str_utf8_as_unicode_and_size_safe(textstr + index, &index);
 			
 			if (character=='\n') {
 				glTranslatef(line_start, -line_height, 0.0);




More information about the Bf-blender-cvs mailing list