From 13574d4e9da3cb07fecdce86939f8f3842d6a669 Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Sun, 29 Sep 2024 14:06:13 +0800 Subject: Write generate_punct_table function --- utils/storage/gen_binary_files.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'utils/storage/gen_binary_files.cpp') diff --git a/utils/storage/gen_binary_files.cpp b/utils/storage/gen_binary_files.cpp index c4620c4..0d66c45 100644 --- a/utils/storage/gen_binary_files.cpp +++ b/utils/storage/gen_binary_files.cpp @@ -83,6 +83,29 @@ bool generate_binary_files(const char * pinyin_table_filename, return true; } +bool generate_punct_table(const char * tablename) { + PunctTable punct_table; + bool retval = punct_table.attach(tablename, ATTACH_CREATE|ATTACH_READWRITE); + if (!retval) { + fprintf(stderr, "open %s failed!\n", tablename); + exit(ENOENT); + } + + gchar * filename = g_build_filename(table_dir, "punct.table", NULL); + FILE * tablefile = fopen(filename, "r"); + if (NULL == tablefile) { + fprintf(stderr, "open %s failed!\n", filename); + exit(ENOENT); + } + + punct_table.load_text(tablefile); + + fclose(tablefile); + g_free(filename); + + return true; +} + int main(int argc, char * argv[]){ setlocale(LC_ALL, ""); @@ -120,5 +143,7 @@ int main(int argc, char * argv[]){ ADDON_SYSTEM_PHRASE_INDEX, phrase_files, type); + generate_punct_table(SYSTEM_PUNCT_TABLE); + return 0; } -- cgit