[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][TOP]

Re: gnumeric-0.54で日本語


On Sat, 10 Jun 2000 05:43:34 +0900
Yukihiro Nakai <nakai@xxxxxxxxxxx> wrote:

> This is a multi-part message in MIME format.
> 
> --Multipart_Sat__10_Jun_2000_05:43:34_+0900_081fcc38
> Content-Type: text/plain; charset=ISO-2022-JP
> 
> 
> さて、ぜんぜん盛り上がりを見せないgnome-develですが、^^;
> gnumeric-0.54で日本語が表示されるようにしてみました。
> 
> ・いちいちgdk_fontset_loadを呼ぶので異常におそい
> ・(数字を入力したときなど)右詰め表示にするとちょっと右すぎる
> 
> など、かなりな問題作です。
> 

私もちょっとやってみました。
サイズ変更、ボールド、イタリック表示可能です。

gnumeric-0.54日本語表示パッチ

------------ここから

*** gnumeric-0.54/src/dialogs/dialog-stf-preview.c	Mon Jun 12 12:44:31 2000
--- gnumeric-0.54/src/dialogs/dialog-stf-preview.c.new	Sun Jun 11 21:03:39 2000
***************
*** 704,710 ****
  	renderdata->gridgroup    = NULL;
  	renderdata->hashtable    = g_hash_table_new (g_int_hash, g_int_equal);
  
! 	renderdata->font       = gdk_font_load ("fixed");
  	renderdata->charwidth  = gdk_string_width (renderdata->font, "W");
  	renderdata->charheight = gdk_string_height (renderdata->font, "W");
  
--- 704,710 ----
  	renderdata->gridgroup    = NULL;
  	renderdata->hashtable    = g_hash_table_new (g_int_hash, g_int_equal);
  
! 	renderdata->font       = gdk_fontset_load ("fixed,fixedk");
  	renderdata->charwidth  = gdk_string_width (renderdata->font, "W");
  	renderdata->charheight = gdk_string_height (renderdata->font, "W");
  
*** gnumeric-0.54/src/style.c	Sat Jun 10 22:58:17 2000
--- gnumeric-0.54/src/style.c.new	Mon Jun 12 12:38:16 2000
***************
*** 148,158 ****
  			return NULL;
  		}
  
  		/*
  		 * Worst case scenario
  		 */
  		if (font->dfont->gdk_font == NULL)
! 			font->dfont->gdk_font = gdk_font_load ("fixed");
  		
  		font->font = gnome_font_new_closest (
  			font_name,
--- 148,176 ----
  			return NULL;
  		}
  
+ 		{
+ 			char fn[1000];
+ 
+ 			sprintf(fn, "-*-%s-%s-%s-*-*-%d-*-*-*-*-*-iso8859-1,-*-%s-%s-%s-*-*-%d-*-*-*-*-*-jisx0208.1983-0",
+ 				font_name,
+ 				bold ? "*" : "medium",
+ 				italic ? "*" : "r",
+ 				(int)(size * ((scale >= 0) ? scale : 1 / abs(scale)) + 0.5),
+ 				"fixed",
+ 				bold ? "*" : "medium",
+ 				italic ? "*" : "r",
+ 				(int)(size * ((scale >= 0) ? scale : 1 / abs(scale)) + 0.5));
+ 			font->dfont->gdk_font = gdk_fontset_load (fn);
+ 
+ 			printf("font_name: %s, size: %g, scale %g, bold: %d, italic: %d\n", font_name, size, scale, bold, italic);
+ 			printf("FN = %s\n", fn);
+ 			if (font->dfont->gdk_font == NULL) printf("FN ERROR\n");
+ 		}
  		/*
  		 * Worst case scenario
  		 */
  		if (font->dfont->gdk_font == NULL)
! 			font->dfont->gdk_font = gdk_fontset_load ("fixed,fixedk");
  		
  		font->font = gnome_font_new_closest (
  			font_name,

------------ここまで