#ifndef __SPECIAL_SYMBOL_H__
#define	__SPECIAL_SYMBOL_H__

#define SPECIAL_GROUP_NUM	8

typedef struct _SymbolGroup SymbolGroup;

struct _SymbolGroup {
  char *symbol_key;
  char *symbol_string;
};


static char *symbol_group_names[] = {
    "특수문자１",
    "특수문자２",
    "로마문자용부호",
    "한글낱자",
    "로마숫자",
    "괘선조각",
    "각종 단위기호",
    "일본문자",
};

  
  
static char *special[] = {
"\
、。‥…〃＼～‘’“”〔〕〈\
〉《》「」『』【】≠≤≥∞∴′″\
℃Å￠￡￥♂♀∠⊥⌒∂∇≡≒※☆★○●\
◎◇◆□■△▲▽▼→←↑↓↔〓√∽∝\
∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨￢⇒⇔∀∃\
∮∑∏℉‰◁◀▷▶\
♤♠♡♥♧♣◈▣◐◑▒▤▥▨▧▦▩♨☏\
☎☜☞†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™\
㏂㏘℡",

"\
㉠㉡㉢㉣㉤㉥㉦㉧㉨㉩㉪㉫㉬㉭㉮㉯㉰㉱㉲㉳\
㉴㉵㉶㉷㉸㉹㉺㉻ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛ\
ⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ①②③④⑤⑥\
⑦⑧⑨⑩⑪⑫⑬⑭⑮⅓⅔⅛⅜⅝⅞㈀㈁\
㈂㈃㈄㈅㈆㈇㈈㈉㈊㈋㈌㈍㈎㈏㈐㈑㈒㈓㈔㈕\
㈖㈗㈘㈙㈚㈛⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩\
⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵⑴⑵⑶⑷⑸⑹⑺⑻\
⑼⑽⑾⑿⒀⒁⒂⁴ⁿ₁₂₃₄",

"\
！＂＃＄％＆＇（）＊＋，－．／０１２３４\
５６７８９：；＜＝＞？＠ＡＢＣＤＥＦＧＨ\
ＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ［￦\
］＾＿｀ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐ\
ｑｒｓｔｕｖｗｘｙｚ｛｜｝￣",

"\
ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄ\
ㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎㅏㅐㅑㅒㅓㅔㅕㅖㅗㅘ\
ㅙㅚㅛㅜㅝㅞㅟㅠㅡㅢㅣㅥㅦㅧㅨㅩㅪㅫㅬ\
ㅭㅮㅯㅰㅱㅲㅳㅴㅵㅶㅷㅸㅹㅺㅻㅼㅽㅾㅿㆀ\
ㆁㆂㆃㆄㆅㆆㆇㆈㆉㆊㆋㆌㆍㆎ",

"\
ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ",

"\
─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫\
┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍\
┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁\
╃╄╅╆╇╈╉╊",

"\
㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙㎚㎛㎜㎝㎞㎟㎠㎡㎢\
㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰㎱㎲㎳㎴㎵㎶㎷㎸㎹\
㎀㎁㎂㎃㎄㎺㎻㎼㎽㎾㎿㎐㎑㎒㎓㎔Ω㏀㏁㎊\
㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆",

"\
ぁあぃいぅうぇえぉおかがきぎくぐけげこご\
さざしじすずせぜそぞただちぢっつづてでと\
どなにぬねのはばぱひびぴふぶぷへべぺほぼ\
ぽまみむめもゃやゅゆょよらりるれろゎわゐ\
ゑをんァアィイゥウェエォオカガキギクグケ\
ゲコゴサザシジスズセゼソゾタダチヂッツヅ\
テデトドナニヌネノハバパヒビピフブプヘベ\
ペホボポマミムメモャヤュユョヨラリルレロ\
ヮワヰヱヲンヴヵヶ"
};

Boolean
composer_symbol_menu_lookup_start (int *number_of_candidates,
				   UTFCHAR ***symbol_list_return);

Boolean
composer_symbol_detail_lookup_start (int n_group_id,
				     int *number_of_candidates,
				     UTFCHAR ***symbol_list_return);
#endif	/* __SPECIAL_SYMBOL_H__ */
