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

Re: MagicPoint



At Tue, 25 Nov 2003 04:03:12 +0900 (JST),
Jun-ichiro itojun Hagino wrote:
> 
> > ちなみに parse.c にバグがあったようで、そのパッチも追加してあります。
> 
> 	magicpoint developerにバグレポ送ってくださいね。
>
これは mgp-users-jp で見かけたものです。
本家では直っているようですが、ついでだったので加えてみました。

あと、MagicPoint + Xft2 で日本語が出せるようになるパッチを作りました。
変更したのは codeset 名を

  iso2022jp -> iso-2022-jp
  UTF8      -> UTF-8

とし、iconv_t と int の比較のところをキャストするようにしました。
私の環境では sample-jp.mgp の日本語がちゃんと表示されました。
こちらは mgp-users-jp にも出そうと思います。

-- 
 平塚紘一郎
   hira@po6.nsk.ne.jp

--- draw.c.orig	2003-05-14 16:45:35.000000000 +0900
+++ draw.c	2003-11-25 08:03:15.000000000 +0900
@@ -4498,7 +4498,7 @@
 	struct ctrl *cp;
 	char *fontname = NULL;
 	int i;
-	static char etab[3][20] = { "iso2022jp", "gb2312", "ksc5601"};
+	static char etab[3][20] = { "iso-2022-jp", "gb2312", "ksc5601"};
 	static char rtab[3][20] = { "jisx208", "gb2312", "ksc5601"};
 	static char prefix[3][20] = { "\033$B", "\033$A", "\033$(C"};
 	char buf16[1024], *p16;
@@ -4529,8 +4529,8 @@
 		}
 		if (i == 3) return NULL; /* cannot find codeset */
 		sprintf(buf16, "%s%s\0", prefix[i], p);  	
-		if (!icv[i]) icv[i] = iconv_open("UTF8", etab[i]);
-		if (icv[i] < 0){
+		if (icv[i] == (iconv_t)0) icv[i] = iconv_open("UTF-8", etab[i]);
+		if (icv[i] == (iconv_t)-1){
 			fprintf(stderr, "your iconv doesn't support %s\n", etab[i]);
 			return NULL;
 		}