컴퓨터이야기/C

한글코드변환

백구씨쥔장 2006. 2. 8. 14:52
출처를 밝히고 싶은데, 어디서 났는지 모르겠습니다 -_-;;
제가 지금 사용하는 것도 이거 조금 고쳐서 쓰구 있습니다.
원 제작자분께 너무 감사드립니다.
혹시라도 여기 올린게 문제가 된다면 바로 내리겠습니다.

#ifndef WJ_HAN_CODE_H
#define WJ_HAN_CODE_H 1

#define TG 1 /* 상용 조합형 (삼보 KSSM, 큐닉스, IBM, 쌍용, 현대) */
#define KS 6 /* KS 완성형 (KS C 5601-1987 완성형 표준 코드) */
#define TRI 10 /* 3바이트 코드 TG의 확장 */

extern unsigned char *coco_str(int src, int des, unsigned char *str, unsigned char * out);
extern char tojong(char c);
extern char tocho(char c);
extern char tosph(char c);
extern unsigned char tonorm(unsigned char c);

#define TRI_Co (unsigned char)(0x80)
#define TRI_Jung (unsigned char)(0xa0)
#define TRI_Jong (unsigned char)(0xc0)
#define TRI_Sph (unsigned char)(0x98)

#define FILL_Co (unsigned char)(0x01)
#define FILL_Jung (unsigned char)(0x02)
#define FILL_Jong (unsigned char)(0x01)

#define is_tri_co(c) (((c) & 0xe0) == TRI_Co)
#define is_tri_jung(c) (((c) & 0xe0) == TRI_Jung)
#define is_tri_jong(c) (((c) & 0xe0) == TRI_Jong)
#define is_tri_riul_jong(c) (((c) & 0xe0) == TRI_Jong && ((c) & 0x1f) == 0x09)
#define is_tri_sph(c) (((c) & 0xf8) == TRI_Sph || (c)==(unsigned char)0x97)

#endif /* WJ_HAN_CODE_H */