Add sj4_ime_length
This commit is contained in:
parent
e1a5f58d90
commit
4f5463b884
5 changed files with 125 additions and 19 deletions
|
|
@ -5,18 +5,50 @@
|
|||
#define CHARSET SJ4SJIS
|
||||
#else
|
||||
#define CHARSET SJ4UTF8
|
||||
|
||||
#include <termios.h>
|
||||
|
||||
#define getch getchar
|
||||
#endif
|
||||
|
||||
static void ime_packet(Sj4Ime* ime, int type, void* data) {
|
||||
printf("%d %p\n", type, data);
|
||||
}
|
||||
|
||||
int main() {
|
||||
Sj4Ime* ime = sj4_ime(CHARSET, "sj4main.dic");
|
||||
Sj4Ime* ime = sj4_ime(CHARSET, "sj4main.dic", ime_packet);
|
||||
char b;
|
||||
char* conv = sj4_ime_convbuf(ime);
|
||||
char* kouho = sj4_ime_kouho(ime);
|
||||
|
||||
if(ime == NULL) {
|
||||
fprintf(stderr, "Failed to create context\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
while(fread(&b, 1, sizeof(b), stdin)) {
|
||||
#ifdef _WIN32
|
||||
#else
|
||||
{
|
||||
struct termios new;
|
||||
tcgetattr(0, &new);
|
||||
new.c_lflag &= ~(ICANON | ECHO);
|
||||
tcsetattr(0, TCSANOW, &new);
|
||||
}
|
||||
#endif
|
||||
|
||||
while((b = getch()) != EOF) {
|
||||
sj4_ime_key(ime, b);
|
||||
|
||||
if(conv[0]) {
|
||||
printf("[%s]\n", conv);
|
||||
|
||||
conv[0] = 0;
|
||||
} else if(kouho[0]) {
|
||||
printf("<%s>", kouho);
|
||||
}
|
||||
|
||||
if(b != '\n' && b != '\n') {
|
||||
putchar(b);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue