/* 半角文字列を全角文字列にする */

#include "defines.h"
#include "acdata.h"

int akcnvs(unchar *str1,unchar *str2,int mode)
{
unsint c,fhd=0;
unchar *buff;
	buff=str2;
	while ((c=*str1++)!=0) {
		if (check_kanji1(c)) { /* 全角文字 */
			*buff++=c;
			*buff++=*str1++; /* ２バイト目 */
		} else { /* 半角文字 -> 全角文字 */
			c=akcnv(c,mode);
			if (c>=256) *buff++=(c>>8);
			*buff++=(unchar)c;
		}
		if (c==0x814a||c==0x814b) { /* 濁点/半濁点 */
			fhd=1; // それらが有った時は結合のために記録する
		}
	}
	*buff=0;
	if ((mode&BIT2)==0 && fhd) { /* 濁点半濁点結合処理（あるときのみ）*/
		handaku(str2,str2);
	}
	return(strlen(str2));
}
