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

int print16s(const unchar *str,int mode)
{
unsint c,cc=0xffff;
int col,f;
_FNTBUF fnt;
	/* 途中で色が変わることはない */
	/* 拡張属性が使われていない時はB_PUTC()に任せる（高速化）*/
	col=EX_COLOR(-1);
	f=(col==(col&(BIT0123)));
	while ((c=*str++)!=0) {
		if (f||c<' ') {
			if (mode) {
				/* 0x0a -> 0x0d,0a */
				if (c=='\n') B_PUTC(0x0d);
			}
			B_PUTC(c);
		} else {
			if (check_kanji1(c)) c=(c<<8)|*str++;
			if (c!=cc) {
				cc=c;
				FNTGET(8,c,&fnt);
				fontset2(&fnt,col);
			}
			FONTPUT(&fnt);
		}
	}
	return(B_LOCATE(-1,-1));
}
