libxtst-dev 와
libgtk2.0-dev를 필요로 한다.
아무튼, CellWriter의 구조상.. 논리적 오류로
모든 변수들이 int 형이지, unsigned int형이 존재하지 않는다.
즉, 한글의 영역인 0xAC00은 마이너스 값으로 인식해서 제대로 계산을 하지 못한다.
수정할 곳은
common.h 46 line
cellwidget.c 1793 line
음.. 생각해보니
ㅋㅋㅋ 이런 자소도 있어야지 이모티콘을 쓰니 이녀석들을 위해 Jamo도 복구를 해야겠다.
그런데 대충 12000 자 인데.. 언제 학습시키지? ㄱ-
libgtk2.0-dev를 필요로 한다.
아무튼, CellWriter의 구조상.. 논리적 오류로
모든 변수들이 int 형이지, unsigned int형이 존재하지 않는다.
즉, 한글의 영역인 0xAC00은 마이너스 값으로 인식해서 제대로 계산을 하지 못한다.
수정할 곳은
common.h 46 line
typedef struct { short enabled; const unsigned int start, end; const char *name; } UnicodeBlock; |
cellwidget.c 1793 line
void cell_widget_train(void) { UnicodeBlock *block; unsigned int i, pos, range; stop_timeout(); /* Save cells */ if (!training) { cells_saved = cells; cell_rows_saved = cell_rows; cell_cols_saved = cell_cols; cell_row_view_saved = cell_row_view; cells = NULL; cell_row_view = 0; } /* Clear if not training any block */ if (training_block < 0) { free_cells(); pack_cells(1, cell_cols); cell_widget_render(); return; } /* Pack the Unicode block's characters into the cell grid */ block = unicode_blocks + training_block; range = block->end - block->start + 1; training = TRUE; pack_cells((range + cell_cols - 1) / cell_cols, cell_cols); /* Preset all of the characters for training */ for (i = 0, pos = 0; i < range; i++) { unsigned short ch; ch = block->start + i; if (char_disabled(ch)) continue; cells[pos].ch = ch; cells[pos].alts[0] = NULL; cells[pos++].flags = 0; } range = pos; for (; pos < cell_rows * cell_cols; pos++) clear_cell(pos); pack_cells(1, cell_cols); unclear(FALSE); cell_widget_render(); } |
음.. 생각해보니
ㅋㅋㅋ 이런 자소도 있어야지 이모티콘을 쓰니 이녀석들을 위해 Jamo도 복구를 해야겠다.
그런데 대충 12000 자 인데.. 언제 학습시키지? ㄱ-
'프로그램 사용 > CellWriter' 카테고리의 다른 글
CellWriter 소스코드 (0) | 2010.01.18 |
---|---|
CellWriter - 리눅스용 필기인식 프로그램 (2) | 2009.12.29 |