#include "defines.h"

int print12(int x,int y,unchar *mes)
{
int i,col,sz,ssz;
unsint c,cc=-1;
struct {
	short	xl;
	short	yl;
	unchar	buffer[3*32];
} fnt; /* 32line必要なのでここで特別に定義／確保する */

	/* 色を含め、表示属性は途中では変わらない */
	col=B_COLOR(-1);
	/* 絶対にフォントが入らない部分（24*24〜31の部分）を消しておく */
	for (i=3*24;i<3*32;i++) fnt.buffer[i]=0;
	ssz=24;
	while ((c=*mes++)!=0) {
		sz=12;
		if (check_kanji1(c)) {c=(c<<8)|*mes++; sz=24;}
		if (c!=cc) {
			fontsetc(c,12,&fnt);
			fnt.yl=32; /* 縦は32line固定 */
			if (sz!=ssz) {
				if (sz==12) {for (i=2*24;i<3*24;i++) fnt.buffer[i]=0;}
				ssz=sz;
			} /* 24*24や同じサイズの時は不要ラインの消去を省ける */
			cc=c;
		} /* 同じフォントの時はそのまま表示へ行く */
		TEXTPUT2(x,y,&fnt,col);
		x+=sz;
	}
	return(x);
}

#if 0
#include <time.h>
main()
{
time_t t,ts;
int i;
	ts=clock();
	for (i=0;i<100;i++) {
		print12(100,130,"Ｐrint２４です");
	}
	t=clock();
	printf("100times=%d\n",t-ts);
}
#endif
