[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21507] branches/blender2.5/blender/source /blender: Yes!! a nice font again!!

Diego Borghetti bdiego at gmail.com
Fri Jul 10 22:18:19 CEST 2009


Revision: 21507
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21507
Author:   bdiego
Date:     2009-07-10 22:18:19 +0200 (Fri, 10 Jul 2009)

Log Message:
-----------
Yes!! a nice font again!!

Matt, I found the problem in one of my previous commit, so I revert
all my changes and now the font look good again.

Also remove all the options (kerning, overlap and user kerning), I want
to make this a little better.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenfont/BLF_api.h
    branches/blender2.5/blender/source/blender/blenfont/intern/blf.c
    branches/blender2.5/blender/source/blender/blenfont/intern/blf_font.c
    branches/blender2.5/blender/source/blender/blenfont/intern/blf_glyph.c
    branches/blender2.5/blender/source/blender/blenfont/intern/blf_internal_types.h
    branches/blender2.5/blender/source/blender/editors/interface/interface_style.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c

Modified: branches/blender2.5/blender/source/blender/blenfont/BLF_api.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenfont/BLF_api.h	2009-07-10 19:56:13 UTC (rev 21506)
+++ branches/blender2.5/blender/source/blender/blenfont/BLF_api.h	2009-07-10 20:18:19 UTC (rev 21507)
@@ -90,7 +90,6 @@
 void BLF_rotation(float angle);
 void BLF_clipping(float xmin, float ymin, float xmax, float ymax);
 void BLF_blur(int size);
-void BLF_kerning(float space);
 
 void BLF_enable(int option);
 void BLF_disable(int option);
@@ -137,10 +136,7 @@
 /* font->flags. */
 #define BLF_ROTATION (1<<0)
 #define BLF_CLIPPING (1<<1)
-#define BLF_FONT_KERNING (1<<2)
-#define BLF_USER_KERNING (1<<3)
-#define BLF_SHADOW (1<<4)
-#define BLF_OVERLAP_CHAR (1<<5)
+#define BLF_SHADOW (1<<2)
 
 /* font->mode. */
 #define BLF_MODE_TEXTURE 0

Modified: branches/blender2.5/blender/source/blender/blenfont/intern/blf.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenfont/intern/blf.c	2009-07-10 19:56:13 UTC (rev 21506)
+++ branches/blender2.5/blender/source/blender/blenfont/intern/blf.c	2009-07-10 20:18:19 UTC (rev 21507)
@@ -505,15 +505,6 @@
 		font->mode= mode;
 }
 
-void BLF_kerning(float space)
-{
-	FontBLF *font;
-
-	font= global_font[global_font_cur];
-	if (font)
-		font->kerning= space;
-}
-
 void BLF_shadow(int level, float r, float g, float b, float a)
 {
 	FontBLF *font;

Modified: branches/blender2.5/blender/source/blender/blenfont/intern/blf_font.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenfont/intern/blf_font.c	2009-07-10 19:56:13 UTC (rev 21506)
+++ branches/blender2.5/blender/source/blender/blenfont/intern/blf_font.c	2009-07-10 20:18:19 UTC (rev 21507)
@@ -101,7 +101,7 @@
 	GlyphBLF *g, *g_prev;
 	FT_Vector delta;
 	FT_UInt glyph_index, g_prev_index;
-	float pen_x, pen_y, old_pen_x;
+	int pen_x, pen_y;
 	int i, has_kerning;
 
 	if (!font->glyph_cache)
@@ -139,33 +139,17 @@
 		else if (font->mode == BLF_MODE_TEXTURE && (!g->tex_data))
 			g= blf_glyph_add(font, glyph_index, c);
 
-		if ((font->flags & BLF_FONT_KERNING) && has_kerning && g_prev) {
-			old_pen_x= pen_x;
+		if (has_kerning && g_prev) {
 			delta.x= 0;
 			delta.y= 0;
 
 			if (FT_Get_Kerning(font->face, g_prev_index, glyph_index, FT_KERNING_UNFITTED, &delta) == 0) {
 				pen_x += delta.x >> 6;
-
-				if (font->flags & BLF_OVERLAP_CHAR) {
-					if (pen_x < old_pen_x)
-						pen_x= old_pen_x;
-				}
 			}
 		}
 
-		if (font->flags & BLF_USER_KERNING) {
-			old_pen_x= pen_x;
-			pen_x += font->kerning;
-
-			if (font->flags & BLF_OVERLAP_CHAR) {
-				if (pen_x < old_pen_x)
-					pen_x= old_pen_x;
-			}
-		}
-
 		/* do not return this loop if clipped, we want every character tested */
-		blf_glyph_render(font, g, pen_x, pen_y);
+		blf_glyph_render(font, g, (float)pen_x, (float)pen_y);
 
 		pen_x += g->advance;
 		g_prev= g;
@@ -180,7 +164,7 @@
 	FT_Vector delta;
 	FT_UInt glyph_index, g_prev_index;
 	rctf gbox;
-	float pen_x, pen_y, old_pen_x;
+	int pen_x, pen_y;
 	int i, has_kerning;
 
 	if (!font->glyph_cache)
@@ -223,31 +207,15 @@
 		else if (font->mode == BLF_MODE_TEXTURE && (!g->tex_data))
 			g= blf_glyph_add(font, glyph_index, c);
 
-		if ((font->flags & BLF_FONT_KERNING) && has_kerning && g_prev) {
-			old_pen_x= pen_x;
+		if (has_kerning && g_prev) {
 			delta.x= 0;
 			delta.y= 0;
 
 			if (FT_Get_Kerning(font->face, g_prev_index, glyph_index, FT_KERNING_UNFITTED, &delta) == 0) {
 				pen_x += delta.x >> 6;
-
-				if (font->flags & BLF_OVERLAP_CHAR) {
-					if (pen_x < old_pen_x)
-						pen_x= old_pen_x;
-				}
 			}
 		}
 
-		if (font->flags & BLF_USER_KERNING) {
-			old_pen_x= pen_x;
-			pen_x += font->kerning;
-
-			if (font->flags & BLF_OVERLAP_CHAR) {
-				if (pen_x < old_pen_x)
-					pen_x= old_pen_x;
-			}
-		}
-
 		gbox.xmin= g->box.xmin + pen_x;
 		gbox.xmax= g->box.xmax + pen_x;
 		gbox.ymin= g->box.ymin + pen_y;
@@ -329,10 +297,9 @@
 	font->clip_rec.xmax= 0.0f;
 	font->clip_rec.ymin= 0.0f;
 	font->clip_rec.ymax= 0.0f;
-	font->flags= BLF_USER_KERNING | BLF_FONT_KERNING;
+	font->flags= 0;
 	font->dpi= 0;
 	font->size= 0;
-	font->kerning= 0.0f;
 	font->cache.first= NULL;
 	font->cache.last= NULL;
 	font->glyph_cache= NULL;

Modified: branches/blender2.5/blender/source/blender/blenfont/intern/blf_glyph.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenfont/intern/blf_glyph.c	2009-07-10 19:56:13 UTC (rev 21506)
+++ branches/blender2.5/blender/source/blender/blenfont/intern/blf_glyph.c	2009-07-10 20:18:19 UTC (rev 21507)
@@ -213,11 +213,7 @@
 	else
 		do_new= 1;
 
-	if (font->flags & BLF_FONT_KERNING)
-		err= FT_Load_Glyph(font->face, index, FT_LOAD_NO_BITMAP);
-	else
-		err= FT_Load_Glyph(font->face, index, FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP);
-
+	err= FT_Load_Glyph(font->face, index, FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP);
 	if (err)
 		return(NULL);
 
@@ -332,11 +328,7 @@
 	else
 		do_new= 1;
 
-	if (font->flags & BLF_FONT_KERNING)
-		err= FT_Load_Glyph(font->face, index, FT_LOAD_NO_BITMAP);
-	else
-		err= FT_Load_Glyph(font->face, index, FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP);
-
+	err= FT_Load_Glyph(font->face, index, FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP);
 	if (err)
 		return(NULL);
 

Modified: branches/blender2.5/blender/source/blender/blenfont/intern/blf_internal_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/blenfont/intern/blf_internal_types.h	2009-07-10 19:56:13 UTC (rev 21506)
+++ branches/blender2.5/blender/source/blender/blenfont/intern/blf_internal_types.h	2009-07-10 20:18:19 UTC (rev 21507)
@@ -177,9 +177,6 @@
 	/* font size. */
 	int size;
 
-	/* kerning space, user setting. */
-	float kerning;
-
 	/* max texture size. */
 	int max_tex_size;
 

Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_style.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_style.c	2009-07-10 19:56:13 UTC (rev 21506)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_style.c	2009-07-10 20:18:19 UTC (rev 21507)
@@ -91,8 +91,6 @@
 	
 	style->paneltitle.uifont_id= UIFONT_DEFAULT;
 	style->paneltitle.points= 13;
-	style->paneltitle.kerning= 0.0;
-	style->paneltitle.overlap= 0;
 	style->paneltitle.shadow= 5;
 	style->paneltitle.shadx= 2;
 	style->paneltitle.shady= -2;
@@ -101,8 +99,6 @@
 	
 	style->grouplabel.uifont_id= UIFONT_DEFAULT;
 	style->grouplabel.points= 12;
-	style->grouplabel.kerning= 0.0;
-	style->grouplabel.overlap= 0;
 	style->grouplabel.shadow= 3;
 	style->grouplabel.shadx= 1;
 	style->grouplabel.shady= -1;
@@ -110,8 +106,6 @@
 	
 	style->widgetlabel.uifont_id= UIFONT_DEFAULT;
 	style->widgetlabel.points= 11;
-	style->widgetlabel.kerning= 0.0;
-	style->widgetlabel.overlap= 0;
 	style->widgetlabel.shadow= 3;
 	style->widgetlabel.shadx= 1;
 	style->widgetlabel.shady= -1;
@@ -120,7 +114,6 @@
 	
 	style->widget.uifont_id= UIFONT_DEFAULT;
 	style->widget.points= 11;
-	style->widget.kerning= 0.0;
 	style->widget.shadowalpha= 0.25f;
 
 	style->columnspace= 5;
@@ -174,15 +167,10 @@
 		BLF_shadow_offset(fs->shadx, fs->shady);
 	}
 
-	if (fs->overlap)
-		BLF_enable(BLF_OVERLAP_CHAR);
-
 	BLF_draw(str);
 	BLF_disable(BLF_CLIPPING);
 	if (fs->shadow)
 		BLF_disable(BLF_SHADOW);
-	if (fs->overlap)
-		BLF_disable(BLF_OVERLAP_CHAR);
 }
 
 /* ************** helpers ************************ */
@@ -263,6 +251,5 @@
 	
 	BLF_set(font->blf_id);
 	BLF_size(fs->points, U.dpi);
-	BLF_kerning(fs->kerning);
 }
 

Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h	2009-07-10 19:56:13 UTC (rev 21506)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h	2009-07-10 20:18:19 UTC (rev 21507)
@@ -66,9 +66,6 @@
 typedef struct uiFontStyle {
 	short uifont_id;		/* saved in file, 0 is default */
 	short points;			/* actual size depends on 'global' dpi */
-	float kerning;			/* kerning space between characters. */
-	short overlap;			/* check overlaped characters. */
-	short pad;
 	short italic, bold;		/* style hint */
 	short shadow;			/* value is amount of pixels blur */
 	short shadx, shady;		/* shadow offset in pixels */

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c	2009-07-10 19:56:13 UTC (rev 21506)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c	2009-07-10 20:18:19 UTC (rev 21507)
@@ -137,16 +137,6 @@
 	RNA_def_property_ui_text(prop, "Points", "");
 	RNA_def_property_update(prop, NC_WINDOW, NULL);
 
-	prop= RNA_def_property(srna, "kerning", PROP_FLOAT, PROP_NONE);
-	RNA_def_property_range(prop, -5.0, 5.0);
-	RNA_def_property_ui_text(prop, "Kerning", "User kerning value in pixels");
-	RNA_def_property_update(prop, NC_WINDOW, NULL);
-
-	prop= RNA_def_property(srna, "overlap", PROP_BOOLEAN, PROP_NONE);
-	RNA_def_property_boolean_sdna(prop, NULL, "overlap", 1);
-	RNA_def_property_ui_text(prop, "Overlap", "Check for overlap characters");
-	RNA_def_property_update(prop, NC_WINDOW, NULL);
-
 	prop= RNA_def_property(srna, "shadow", PROP_INT, PROP_NONE);
 	RNA_def_property_range(prop, 0, 5);
 	RNA_def_property_ui_text(prop, "Shadow Size", "Shadow size in pixels (0, 3 and 5 supported)");





More information about the Bf-blender-cvs mailing list