#include "defines.h"

unchar *dakuhan(unchar *str,unchar *buff)
/* 濁点・半濁点文字を分解する */
{
unint f,c;
unchar *buff0;
	buff0=buff;
	while ((c=*str++)!=0) {
		if (!check_kanji1(c)) { /* 半角文字 */
			*buff++=c;
			continue;
		}
		/* 全角 */
		c=(c<<8)|*str++;
		f=ishandaku(c);
		if (!f) {
			*buff++=(c>>8);
			*buff++=(unchar)c;
			continue;
		}
		/* 濁点・半濁点 */
		/* 文字 */
		if (c==0x8394) { /* ヴ */
			c=0x8345; /* ウ */
		} else 	c-=f;
		*buff++=(c>>8);
		*buff++=(unchar)c;
		/* 点 */
		*buff++=0x81;
		*buff++=0x4a-1+f;
	}
	*buff=0;
	return(buff0);
}
