diff options
| author | Peng Wu <alexepico@gmail.com> | 2024-09-29 14:06:13 +0800 |
|---|---|---|
| committer | Peng Wu <alexepico@gmail.com> | 2024-09-29 14:06:13 +0800 |
| commit | 13574d4e9da3cb07fecdce86939f8f3842d6a669 (patch) | |
| tree | 05d3b8392eda9ada819140964aca1c9532512bc5 | |
| parent | 82c4ecfd79c94a46aa9fe8034f9840ae5bc96fe6 (diff) | |
| download | libpinyin-13574d4e9da3cb07fecdce86939f8f3842d6a669.tar.gz libpinyin-13574d4e9da3cb07fecdce86939f8f3842d6a669.tar.xz libpinyin-13574d4e9da3cb07fecdce86939f8f3842d6a669.zip | |
Write generate_punct_table function
| -rw-r--r-- | utils/storage/gen_binary_files.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
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; } |
