/*
	拡張ライブラリＩの12ドットフォントの利用
										作・おこめ

	参考文献 : Ｏｈ! FM ＴＯＷＮＳ 春の特別号(1993-3)
*/

#include	<EGB.H>
#include	<FNT.H>
#include	<sidework.h>
#include	<Normlib.h>

unsigned short mma_allocSeg(char *para);
void mma_freeSeg(unsigned short seg);

extern char work[];

void font12(int x, int y, char *n, int c)
{
	char pa[64];
	unsigned short fseg;
	unsigned int adr, i, h, l;
	y-=11;
	fseg = mma_allocSeg("FONT");
	EGB_color( work, 0, c);
	while(*n != 0)
	{
		if (iskanji(*n))
		{
			i = FNT_sjisToJis((*n << 8) + *(n+1));
			if (i > 0x4fff)
			{
				WORD(pa)=WORD(n);
				pa[2]=0;
				symbol(x,y+11, pa, 12, c);
				x+=12;
				i = 0;
			}	else	{
				h = i >> 8;
				l = i & 0xff;
				adr = ((h-0x21)*94+l-0x21)*24+0xC00;
				i = 11;
			}
			n+=2;
		}	else	{
			adr = *n * 12;
			n++;
			i = 5;
		}
		if (i!=0)
		{
			DWORD(pa) = (int)adr;
			WORD(pa+4) = fseg;
			WORD(pa+6) = x;
			WORD(pa+8) = y;
			WORD(pa+10) = x+i;
			WORD(pa+12) = y+11;
			EGB_putBlockColor(work, 0, pa);
			x+= i+1;
		}
	}
	mma_freeSeg(fseg);
}
