blob: 4d25bf7dbbcc2d264dc403acb62a087d15f3a4c2 [file] [log] [blame]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <keymap.h>
int main(int argc, char **argv)
{
lk_table_shape table;
char numeric;
struct lk_ctx *ctx;
lkfile_t f;
if (argc == 1) {
printf("Usage: %s <keymap> <table_shape> <numeric>\n", argv[0]);
return 1;
}
if (!strcasecmp(argv[2], "FULL_TABLE"))
table = LK_SHAPE_FULL_TABLE;
else if (!strcasecmp(argv[2], "SEPARATE_LINES"))
table = LK_SHAPE_SEPARATE_LINES;
else if (!strcasecmp(argv[2], "UNTIL_HOLE"))
table = LK_SHAPE_UNTIL_HOLE;
else
table = LK_SHAPE_DEFAULT;
numeric = (!strcasecmp(argv[3], "TRUE")) ? 1 : 0;
ctx = lk_init();
lk_set_parser_flags(ctx, LK_FLAG_PREFER_UNICODE);
f.pipe = 0;
strcpy(f.pathname, argv[1]);
f.fd = fopen(argv[1], "r");
lk_parse_keymap(ctx, &f);
lk_dump_keymap(ctx, stdout, table, numeric);
lk_dump_diacs(ctx, stdout);
lk_free(ctx);
return 0;
}