typedef struct _HangulBuffer HangulBuffer;
typedef struct _HangulInputContext HangulInputContext;
-enum {
+typedef enum {
HANGUL_KEYBOARD_2,
HANGUL_KEYBOARD_32,
HANGUL_KEYBOARD_3FINAL,
HANGUL_KEYBOARD_390,
HANGUL_KEYBOARD_3NOSHIFT,
HANGUL_KEYBOARD_3YETGUL
-};
+} HangulKeyboardType;
enum {
HANGUL_OUTPUT_SYLLABLE,
wchar_t commit_string[64];
};
-HangulInputContext* hangul_ic_new(int keyboard);
+HangulInputContext* hangul_ic_new(HangulKeyboardType keyboard);
void hangul_ic_delete(HangulInputContext *hic);
-bool hangul_ic_filter(HangulInputContext *hic, int ascii, bool capslock);
+bool hangul_ic_filter(HangulInputContext *hic, int ascii);
void hangul_ic_reset(HangulInputContext *hic);
bool hangul_ic_backspace(HangulInputContext *hic);
void hangul_ic_set_output_mode(HangulInputContext *hic, int mode);
-void hangul_ic_set_keyboard(HangulInputContext *hic, int keyboard);
+void hangul_ic_set_keyboard(HangulInputContext *hic,
+ HangulKeyboardType keyboard);
const wchar_t* hangul_ic_get_preedit_string(HangulInputContext *hic);
const wchar_t* hangul_ic_get_commit_string(HangulInputContext *hic);
}
bool
-hangul_ic_filter(HangulInputContext *hic, int ascii, bool capslock)
+hangul_ic_filter(HangulInputContext *hic, int ascii)
{
wchar_t ch;
if (hic == NULL)
return false;
- if (capslock) {
- if (isupper(ascii)) {
- ascii = tolower(ascii);
- } else {
- ascii = toupper(ascii);
- }
- }
-
ch = hangul_ic_translate_jamo(hic, ascii);
hic->preedit_string[0] = L'\0';
}
void
-hangul_ic_set_keyboard(HangulInputContext *hic, int keyboard)
+hangul_ic_set_keyboard(HangulInputContext *hic, HangulKeyboardType keyboard)
{
if (hic == NULL)
return;
}
HangulInputContext*
-hangul_ic_new(int keyboard)
+hangul_ic_new(HangulKeyboardType keyboard)
{
HangulInputContext *hic;
static PyObject *_pyhangulic_filter(PY_HANGULIC *self, PyObject *args)
{
int ret;
- int ascii, capslock;
+ int ascii;
- if(!PyArg_ParseTuple(args,"ii", &ascii, &capslock)) {
- PyErr_SetString(_pyhangul_error,"Usage: filter(ascii, capslock)");
+ if(!PyArg_ParseTuple(args,"i", &ascii)) {
+ PyErr_SetString(_pyhangul_error,"Usage: filter(ascii)");
return NULL;
}
- ret = hangul_ic_filter(self->hic, ascii, capslock);
+ ret = hangul_ic_filter(self->hic, ascii);
return Py_BuildValue("i", ret);
}
}
for (ascii = getchar(); ascii != EOF; ascii = getchar()) {
- int ret = hangul_ic_filter(hic, ascii, 0);
+ int ret = hangul_ic_filter(hic, ascii);
n = wcstombs(commit, hangul_ic_get_commit_string(hic), sizeof(commit));
commit[n] = '\0';
if (strlen(commit) > 0) {