#include <iocslib.h>
#include "defines.h"
#include "aigtext.h"

int EX_PRINT2(int size,const unchar *str)
/* 拡張属性 文字列表示（8*16,16*16,12*24,24*24）*/
{
unsint c,cc=0xffff;
int col,x,f;
_FNTBUF fnt;
	/* 途中で色が変わることはない */
	col=EX_COLOR(-1);
	f=(size==8 && col==(col&(BIT0123)));
	while ((c=*str++)!=0) {
		if (check_kanji1(c)) c=(c<<8)|*str++;
		if (f && c>=' ') {
			/* 16dotで拡張属性なしの時はB_PUTC()に任せる（高速化）*/
			/* 但し、コントロールコードは可視化するので任せない */
			x=B_PUTC(c);
		} else {
			if (c!=cc) {
				cc=c;
				if (c<' ') c|=0x8000; /* 可読化 */
				FNTGET(size,c,&fnt);
				fontset2(&fnt,col);
			}
			x=FONTPUT2(&fnt);
		}
	}
	return(x);
}
