⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.124
Server IP:
50.28.103.30
Server:
Linux host.jcukjv-lwsites.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
Server Software:
nginx/1.28.0
PHP Version:
8.3.12
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
doc
/
libthai
/
Edit File: ChangeLog
2017-10-25 Theppitak Karoonboonyanan
* NEWS: === Version 0.1.27 === 2017-10-25 Theppitak Karoonboonyanan
Update word break dictionary. * data/tdict-city.txt: * data/tdict-common.txt: * data/tdict-district.txt: * data/tdict-geo.txt: * data/tdict-history.txt: * data/tdict-ict.txt: * data/tdict-lang-ethnic.txt: * data/tdict-proper.txt: * data/tdict-science.txt: * data/tdict-spell.txt: - Add words. * data/tdict-proper.txt: - Correct order for some entries. 2017-08-07 Theppitak Karoonboonyanan
Strip prefix for C source files in doc * doc/Doxyfile.in: - Append "@top_srcdir@/src" and "@top_srcdir@/tests" to STRIP_FROM_PATH, so that references to source directories in the generated document do not capture full build path. Defect caught by Debian Reproducible 2017-06-29 Theppitak Karoonboonyanan
Remove duplicated dict entry. * data/tdict-common.txt: - Remove 'ดัมพ์' which is already in tdict-std. * data/tdict-common.txt: * data/tdict-spell.txt: - Move 'ดั๊มพ์' from tdict-common to tdict-spell. 2017-06-29 Theppitak Karoonboonyanan
Update word break dictionary. * data/tdict-city.txt: * data/tdict-common.txt: * data/tdict-district.txt: * data/tdict-geo.txt: * data/tdict-ict.txt: * data/tdict-lang-ethnic.txt: * data/tdict-proper.txt: * data/tdict-science.txt: * data/tdict-spell.txt: - Add words. 2016-12-14 Theppitak Karoonboonyanan
* NEWS: === Version 0.1.26 === 2016-12-14 Theppitak Karoonboonyanan
Include git-version-gen in tarball * Makefile.am: - Add build-aux/git-version-gen to EXTRA_DIST. 2016-12-14 Theppitak Karoonboonyanan
Move word. * data/tdict-common.txt, data/tdict-ict.txt: - Move 'แอดมิน' from tdict-common to tdict-ict. 2016-12-14 Theppitak Karoonboonyanan
Update word break dictionary. * data/tdict-city.txt: * data/tdict-common.txt: * data/tdict-geo.txt: * data/tdict-ict.txt: * data/tdict-proper.txt: * data/tdict-science.txt: * data/tdict-spell.txt: - Add words. 2016-07-09 Theppitak Karoonboonyanan
Move some uncommon compound names out of tdict-std dictionary. * data/tdict-std.txt, data/tdict-std-compound.txt: - Move 'กระดองหาย', 'กระดาดขาว', 'นางรำ', 'นางหงส์' to tdict-std-compound. 2016-07-08 Theppitak Karoonboonyanan
Move compounds out of tdict-std dictionary. * data/tdict-std.txt: - Remove long compound 'ตะลึงพรึงเพริด'. - Keep only 'สะพรึง' instead of 'สะพรึงกลัว'. * data/tdict-std.txt, data/tdict-std-compound.txt: - Move compounds 'ตะลุ่มนก', 'ตากวาง', 'ตานนกกด' to tdict-std-compound. 2016-07-08 Theppitak Karoonboonyanan
Match git tag with version pattern. * build-aux/git-version-gen: - Apply --match pattern to git-describe to prevent confusion with other tags. - Drop unused LF var. 2016-07-07 Theppitak Karoonboonyanan
Use versioning based on Git snapshot. * Makefile.am: - Add dist-hook to generate VERSION file on tarball generation. * +build-aux/git-version-gen: - Add script to generate version based on 'git describe' if in git tree, or using VERSION file if in release tarball. * configure.ac: - Call git-version-gen to get package version. 2016-06-28 Theppitak Karoonboonyanan
* configure.ac, NEWS: === Version 0.1.25 === 2016-06-28 Theppitak Karoonboonyanan
Update word break dictionary. * data/tdict-common.txt: * data/tdict-district.txt: * data/tdict-ict.txt: * data/tdict-proper.txt: * data/tdict-science.txt: * data/tdict-spell.txt: - Add words. 2016-06-27 Theppitak Karoonboonyanan
Document about multi-thread use. * src/thbrk/thbrk.c (th_brk_new): - Add documentation about deleting after use, and about creating/destroying word breaker instance in critical sections. 2016-06-26 Theppitak Karoonboonyanan
Use 'wc' prefix instead of suffix for wide-char word break APIs. To be consistent with other modules, wide-char APIs should be prefixed, not suffixed with 'wc'. * include/thai/thwbrk.h: * src/libthai.c: * src/libthai.def: * src/libthai.map: * src/thwbrk/thwbrk.c: * tests/test_thwbrk.c: - Rename th_brk_find_breaks_wc() -> th_brk_wc_find_breaks(). - Rename th_brk_insert_breaks_wc() -> th_brk_wc_insert_breaks(). 2016-06-25 Theppitak Karoonboonyanan
Rename the new APIs to be more meaningful. The methods for ThBrk I proposed to Mark Brown in our discussion were too confusing. Before they get public, let's pick more meaningful names instead: - th_brk_brk() -> th_brk_find_breaks() - th_brk_brk_line() -> th_brk_insert_breaks() - th_brk_wbrk() -> th_brk_find_breaks_wc() - th_brk_wbrk_line() -> th_brk_insert_breaks_wc() * include/thai/thbrk.h: * include/thai/thwbrk.h: * src/libthai.c: * src/libthai.def: * src/libthai.map: * src/thbrk/thbrk.c: * src/thwbrk/thwbrk.c: * tests/test_thbrk.c: * tests/test_thwbrk.c: - Rename functions as listed above. - Rename the 'n' argument in the functions to indicate whose size it describes. 2016-06-24 Theppitak Karoonboonyanan
Add function deprecation warnings. * include/thai/thailib.h: - Add TH_DEPRECATED and TH_DEPRECATED_FOR() macros, taken from GLib. * include/thai/thbrk.h (th_brk, th_brk_line): * include/thai/thwbrk.h (th_wbrk, th_wbrk_line): - Apply TH_DEPRECATED_FOR() to deprecated functions, with suggestions for alternatives. 2016-06-24 Theppitak Karoonboonyanan
Update tests to test new APIs. * tests/test_thbrk.c (main), tests/test_thwbk.c (main): - Create, use, and free ThBrk instance with the new APIs instead of the deprecated ones. 2016-06-23 Theppitak Karoonboonyanan
Update documentation for API deprecation. * src/thbrk/thbrk.c, src/thwbrk/thwbrk.c: - Add info for deprecated functions. - Add availability info for new functions. * src/thinp/thinp.c: - Add availability info for th_validate_leveled(). * src/libthai.c: - Add missing link to th_validate_leveled(). 2016-06-23 Theppitak Karoonboonyanan
Update library versioning. * configure.ac: - Bump library versions to reflect the added API. 2016-06-22 Mark Brown
Implement a new thread-safe interface for word break. To achieve more thread-safety without depending on mutex mechanisms, a new set of APIs is added so that the client can create a shared instance of word break engine by him/herself under appropriate mutex. Then, the word break functions can be safely called in parallel using the shared engine. * include/thai/thbrk.h: * include/thai/thwbrk.h: * src/libthai.c: * src/libthai.def: * src/libthai.map: - Add new exported APIs: th_brk_new(), th_brk_delete(), th_brk_brk(), th_brk_brk_line(), th_brk_wbrk(), th_brk_wbrk_line(). * src/thbrk/brk-common.h, src/thbrk/brk-common.c (-brk_on_unload, -brk_get_dict, +brk_load_default_dict): - Remove old shared dict management. It's to be as part of ThBrk implementation in ThBrk layer instead. - The logic for finding and loading dictionary at default paths is still retained here. * src/thbrk/thbrk.c (th_brk_new, th_brk_delete): - Implement ThBrk (de)allocation, with dictionary loading at specified path or at default paths if not specified. * src/thbrk/brk-maximal.h, src/thbrk/brk-maximal.c (struct _BrkEnv, brk_env_new): - Add ThBrk engine as a member of BrkEnv. * src/thbrk/brk-maximal.c (brk_root_pool): - Access dict trie from ThBrk in BrkEnv instead of getting shared dict directly. * src/thbrk/thbrk.c (th_brk -> th_brk_brk, th_brk_line -> th_brk_brk_line): * src/thwbrk/thwbrk.c (th_wbrk -> th_brk_wbrk, th_wbrk_line -> th_brk_wbrk_line): - Modify old functions to new ones by adding ThBrk* parameter. * src/thbrk/Makefile.am, +src/thbrk/thbrk-priv.h, src/thbrk/thbrk.c (brk_get_shared_brk, brk_free_shared_brk): - Add functions for managing the shared engine to preserve old behavior. * src/libthai.c (_libthai_on_unload): - Call brk_free_shared_brk() on unload. * src/thbrk/thbrk.c (th_brk, th_brk_line): * src/thwbrk/thwbrk.c (th_wbrk, th_wbrk_line): - Provide old APIs as wrappers to the new APIs, for backward compatibility. Merging pull request #1. 2016-05-02 Theppitak Karoonboonyanan
Update word break dictionary. * data/tdict-common.txt: * data/tdict-spell.txt: Add words. 2016-03-28 Theppitak Karoonboonyanan
Do not test word breaking if dict is disabled. * tests/Makefile.am: - Only add test-thbrk.sh and test-thwbrk.sh to TESTS when dictionary is enabled. 2016-03-03 Theppitak Karoonboonyanan
Get rid of unused variable. * src/thrend/thrend.c (tis620_0_shape_table_): - Comment out unused variable reported by GCC 6. 2016-01-28 Theppitak Karoonboonyanan
Make source more readable. * src/thbrk/brk-common.c (brk_get_dict): - Break assignment and comparison chain on reading LIBTHAI_DICTDIR environment. 2016-01-20 Theppitak Karoonboonyanan
Fix compilation error with GCC 6 * include/thai/thctype.h (_th_bitmsk): - Use unsigned int instead of unsigned short for bitmask base, as GCC 6 takes ~0 as -1 for unsigned short, and causes compilation error for scim-thai. Thanks Martin Michlmayr for the report via Debian #811690 http://bugs.debian.org/811690 2016-01-20 Theppitak Karoonboonyanan
* configure.ac: Post-release version suffix added. 2015-11-22 Theppitak Karoonboonyanan
* configure.ac: - Bump library revision to reflect code changes. * configure.ac, NEWS: === Version 0.1.24 === 2015-11-22 Theppitak Karoonboonyanan
Update word break dictionary. * data/tdict-city.txt: * data/tdict-common.txt: * data/tdict-proper.txt: * data/tdict-science.txt: Add words. 2015-11-22 Theppitak Karoonboonyanan
Fix infinite loop introduced by recent optimization. * src/thbrk/brk-maximal.c (brk_recover_try): - Update 'pool' correctly when deleting matched BrkPool node. brk_pool_delete_node() cannot be started at pool_tail indeed. Thanks Zack Weinberg for the report via Debian #805703 http://bugs.debian.org/805703 2015-11-22 Theppitak Karoonboonyanan
* configure.ac: Post-release version suffix added. 2015-10-22 Theppitak Karoonboonyanan
* configure.ac: - Bump library revision to reflect code changes. * configure.ac, NEWS: === Version 0.1.23 === 2015-10-21 Theppitak Karoonboonyanan
Update word break dictionary. * data/tdict-city.txt: * data/tdict-common.txt: * data/tdict-country.txt: * data/tdict-ict.txt: * data/tdict-lang-ethnic.txt: * data/tdict-proper.txt: * data/tdict-science.txt: * data/tdict-spell.txt: Add words. 2015-10-16 Theppitak Karoonboonyanan
Share BrkEnv longer. The code before the threadsafe commit used to initialize the free list earlier in th_brk() and then called brk_maximal_do() multiple times. This allowed the free list to be shared among all such calls. The threadsafe commit did it deep in brk_maximal_do_impl(), limiting the share within the single brk_maximal_do() call only. We should widen the use to be the same as previously done. * src/thbrk/brk-maximal.h (+brk_env_new, +brk_env_free): - Re-add initialization/quit functions in terms of BrkEnv. - Add BrkEnv* arg to brk_maximal_do(). * src/thbrk/brk-maximal.c (brk_env_init -> brk_env_new, brk_env_destroy -> brk_env_free): - Turn the init/destroy functions into new/free version. * src/thbrk/brk-maximal.c (brk_maximal_do, brk_maximal_do_impl): - Add the BrkEnv* arg and use it instead of the locally created one. * src/thbrk/thbrk.c (th_brk): - Create BrkEnv object at start and free it at end. - Add the env arg to brk_maximal_do() calls. This appears to save more 2.4% of the total runtime and makes it on par with the code before the threadsafe commit again. 2015-10-14 Theppitak Karoonboonyanan
Call brk_pool_match() linearly. * src/thbrk/brk-maximal.c (brk_maximal_do_impl, brk_recover_try): - Start next brk_pool_match() on node next to previously matched one, instead of the pool head, making the match O(n) instead of O(n^2). - [brk_maximal_do_impl] Also prevent using the deleted node to start the next round. - [brk_recover_try] Also start brk_pool_delete_node() on the pool tail, making it also linear. This is not possible for brk_maximal_do_impl, as the node to be deleted is not fixed. This appears to save time by 8.85% on brk_pool_match() calls, lowering its bottleneck rank by 2 positions, and saves time by 0.0388% of total run time. 2015-10-14 Theppitak Karoonboonyanan
Declare variable inside block. * src/thbrk/brk-maximal.c (brk_maximal_do_impl, brk_recover_try): - Move "BrkPool *match" declaration into the block it's used. 2015-10-12 Theppitak Karoonboonyanan
Declare const arg for brk_pool_match(). * src/thbrk/brk-maximal.c (brk_pool_match): - Add const-ness to the read-only 'node' arg. 2015-10-11 Theppitak Karoonboonyanan
Minor optimization on brk_pool_match(). Callgrind reports brk_pool_match() among top bottlenecks. So, try to optimize it as we can. * src/thbrk/brk-maximal.c (brk_pool_match): - Instead of sharing the loop for two different cases, check the case once and run loop for each case separately, to minimize branching down to a single time. - Evaluate the unchanged 'node->shot.brk_pos[node_cur_pos - 1]' expression only once, instead of on every round. This appears to save time by 9.3% for total brk_pool_match() calls, and by 0.067% of total run time. 2015-10-11 Theppitak Karoonboonyanan
Fix 'make check' error on long path names. * tests/thsort.c (main): - Increase file name buffers from 64 to 512, to afford long path names in command-line arguments. 2015-10-10 Theppitak Karoonboonyanan
Replace static global free-list with local one. The static global free-list in brk-maximal.c makes it not thread-safe. * src/thbrk/brk-maximal.c: - Add type BrkEnv to keep break pool free list, with brk_env_init() and brk_env_destroy() methods. - (brk_pool_node_new, brk_pool_node_free, brk_pool_free, brk_pool_delete, brk_root_pool, brk_recover_try, brk_recover): Add (BrkEnv *) arg to relevant functions and use it properly. - (brk_maximal_do): Create and destroy BrkEnv instance for use locally. Pass it to the required function calls. - (brk_pool_delete -> brk_pool_delete_node): Rename function to avoid confusion with brk_pool_free(). * src/thbrk/brk-maximal.c: * src/thbrk/brk-maximal.h: * src/thbrk/thbrk.c: - Get rid of now-unnecessary brk_maximal_init() and brk_maximal_quit(). Thanks Behdad Esfahbod for the report. 2015-09-07 Theppitak Karoonboonyanan
Fix doxygen version checking. * configure.ac: - Correctly compare doxygen versions. Simple expr comparison didn't work with version 1.8.10. Taken from Petr Gajdos
's patch for libdatrie. 2015-06-04 Theppitak Karoonboonyanan
Protect against invalid array access. * src/thbrk/thbrk.c (th_brk): - Add a condition to protect against accessing pos[-1] which may be caused by a failure in brk_maximal_do() on the first Thai chunk, which makes cur_pos remain 0. Thanks Behdad Esfahbod for the report. 2015-06-04 Theppitak Karoonboonyanan
* configure.ac: Post-release version suffix added. 2015-05-08 Theppitak Karoonboonyanan
* configure.ac, NEWS: === Version 0.1.22 === 2015-05-08 Theppitak Karoonboonyanan
* configure.ac: Bump library revision, due to code change. 2015-05-08 Theppitak Karoonboonyanan
Fix 'make distcheck' failure. * doc/Makefile.am: - Remove doxygen db file on clean. 2015-05-06 Theppitak Karoonboonyanan
Update word break dictionary. * data/tdict-common.txt: * data/tdict-ict.txt: * data/tdict-proper.txt: * data/tdict-science.txt: Add words. 2015-05-06 Theppitak Karoonboonyanan
Use my Gmail e-mail address everywhere. * AUTHORS: * include/thai/thailib.h: * include/thai/thbrk.h: * include/thai/thcell.h: * include/thai/thcoll.h: * include/thai/thctype.h: * include/thai/thinp.h: * include/thai/thrend.h: * include/thai/thstr.h: * include/thai/thwbrk.h: * include/thai/thwchar.h: * include/thai/thwcoll.h: * include/thai/thwctype.h: * include/thai/thwinp.h: * include/thai/thwrend.h: * include/thai/thwstr.h: * include/thai/tis.h: * include/thai/wtt.h: * man/man3/libthai.3: * man/man3/thctype.3: * man/man3/wtt.3: * man/template.3: * src/libthai.c: * src/thbrk/brk-common.c: * src/thbrk/brk-common.h: * src/thbrk/brk-ctype.c: * src/thbrk/brk-ctype.h: * src/thbrk/brk-maximal.c: * src/thbrk/brk-maximal.h: * src/thbrk/thbrk.c: * src/thcell/thcell.c: * src/thcoll/cweight.c: * src/thcoll/cweight.h: * src/thcoll/thcoll.c: * src/thctype/thctype.c: * src/thctype/wtt.c: * src/thinp/thinp.c: * src/thrend/thrend.c: * src/thstr/thstr.c: * src/thwbrk/thwbrk.c: * src/thwchar/thwchar.c: * src/thwctype/thwctype.c: * src/thwstr/thwstr.c: * tests/thsort.c: - Replace my e-mail address with the Gmail one. 2015-05-06 Theppitak Karoonboonyanan
More LIKELY/UNLIKELY hints. * src/thbrk/brk-maximal.c (brk_recover): - Add UNLIKELY to recovery history hits, reducing time by 0.03% 2015-05-06 Theppitak Karoonboonyanan
Split LIKELY/UNLIKELY to a separate header. This prevents modules from depending on brk-common.h, which provides low-level APIs for breaker backends. * src/thbrk/Makefile.am, src/thbrk/brk-common.h +src/thbrk/thbrk-utils.h: - Move LIKELY/UNLIKELY macro definitions from brk-common.h to a new header thbrk-utils.h * src/thbrk/brk-common.c, src/thbrk/brk-maximal.c, src/thbrk/thbrk.c: - Include thbrk-utils.h instead of brk-common.h for LIKELY/UNLIKELY. 2015-05-04 Theppitak Karoonboonyanan
More LIKELY/UNLIKELY hints. * src/thbrk/thbrk.c (th_brk_line): - Add UNLIKELY() on error conditions. Note: adding UNLIKELY() to th_brk() first if-statement makes it slower, which is weird. So, not added there. 2015-05-02 Theppitak Karoonboonyanan
* configure.ac: Bump library revision, due to code change. 2015-05-02 Theppitak Karoonboonyanan
Update word break dictionary. * data/tdict-common.txt: * data/tdict-ict.txt: * data/tdict-proper.txt: * data/tdict-science.txt: * data/tdict-spell.txt: Add words. 2015-04-30 Theppitak Karoonboonyanan
Catch error on break hints allocation. * src/thbrk/brk-maximal.c (brk_maximal_do): - Do not continue if brkpos_hints allocation fails. 2015-04-30 Theppitak Karoonboonyanan
Do TIS-to-Unicode conversion only once on word breaking. * src/thbrk/brk-maximal.c (brk_maximal_do): - Convert input string to Unicode before passing to brk_maximal_do_impl(). * src/thbrk/brk-maximal.c (brk_maximal_do_impl, brk_recover, brk_recover_try): - Redeclare to accept wide char string. - Do not call th_tis2uni() on every input char. This appears to reduce word breaking time by 0.28% on test case. Thanks edgehogapp@gmail.com for the suggestion. https://groups.google.com/forum/#!topic/thai-linux-foss-devel/Be-OLMRYF7M 2015-04-29 Theppitak Karoonboonyanan
Bump doxygen required version. * configure.ac: - Bump doxygen required version to 1.8.8, according to recent Doxyfile update. 2015-03-07 Theppitak Karoonboonyanan
Also check for 'trietool' (without -0.2 suffix) * configure.ac: - Check for both trietool-0.2 (for libdatrie < 0.2.9) and trietool (for libdatrie >= 0.2.9) utility. 2015-03-06 Theppitak Karoonboonyanan
Update Doxyfile. * doc/Doxyfile.in: - Updated for doxygen 1.8.8 with 'doxygen -u'. 2015-03-06 Theppitak Karoonboonyanan
Fix compiler warning. * src/thbrk/brk-maximal.c (brk_recover): - Initialize last_brk_pos on declaration. 2015-02-05 Theppitak Karoonboonyanan
Disable timestamp in Doxygen-generated doc. * doc/Doxyfile.in: - Set HTML_TIMESTAMP to NO to make the document reproducible. (reported by Debian Reproducible) 2015-02-04 Theppitak Karoonboonyanan
Micro-optimize with likely/unlikely hints. * src/thbrk/brk-common.h: - Add LIKELY() and UNLIKELY() macros based on compiler extension. * src/thbrk/brk-common.c (brk_get_dict): * src/thbrk/brk-maximal.c (brk_maximal_do_impl, brk_root_pool, brk_shot_init, brk_pool_node_new, best_brk_new): - Use LIKELY() and UNLIKELY() where it is known to be so, mostly for one-time initialization and failure handling. Callgrind says it does help speed up a little bit. 2014-12-16 Theppitak Karoonboonyanan
Update word break dictionary. * data/tdict-city.txt: * data/tdict-collection.txt: * data/tdict-common.txt: * data/tdict-country.txt: * data/tdict-ict.txt: * data/tdict-proper.txt: * data/tdict-science.txt: * data/tdict-spell.txt: Add words. 2014-08-23 Theppitak Karoonboonyanan
* configure.ac: Post-release version suffix added. 2014-08-21 Theppitak Karoonboonyanan
* configure.ac, NEWS: === Version 0.1.21 === 2014-08-19 Theppitak Karoonboonyanan
Be more careful about CFLAGS. * src/Makefile.am: - Add $(DATRIE_CFLAGS) to CFLAGS so that thbrk/brk-common.h included from libthai.c can safely find datrie/trie.h header. 2014-08-19 Theppitak Karoonboonyanan
Fix build failure due to missing header. * src/Makefile.am: - Add CFLAGS so that thbrk/brk-common.h included from libthai.c can find thai/thctype.h header. 2014-08-18 Theppitak Karoonboonyanan
* data/tdict-city.txt: * data/tdict-common.txt: * data/tdict-ict.txt: * data/tdict-proper.txt: * data/tdict-science.txt: Add words. 2014-08-09 Theppitak Karoonboonyanan
thbrk: Be greedy when recovering from error. * src/thbrk/brk-maximal.c (brk_recover_try): - Loop to match as many words as possible on every node picked from pool, to increase the chance of early sufficient words matched, and to avoid too much possibility exploration. 2014-08-09 Theppitak Karoonboonyanan
Minor optimization. Callgrind says brk_recover_try() is the most frequently called. So, try to optimize it as we can. * src/thbrk/brk-maximal.c (brk_recover, brk_recover_try): - Only return the last break position instead of all. * src/thbrk/brk-maximal.c (brk_recover_try): - Remove unneeded assignment on is_terminal for the case in which its value is irrelevant. - Remove unneeded check on is_terminal where its value is known. 2014-08-09 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c: - Add missing #include
. 2014-08-05 Theppitak Karoonboonyanan
Code clean up. * src/thbrk/brk-maximal.c (brk_shot_init): - Split assignment and if-condition. * src/thbrk/brk-maximal.c (brk_pool_free_node -> brk_pool_node_free): - Rename the function to obj-action form, in accordance with brk_pool_node_new(). - Add forward declaration for it. 2014-08-04 Theppitak Karoonboonyanan
Refactor common thbrk code into brk-common. This prevents mutual dependency between brk-* and thbrk. * src/thbrk/Makefile.am: * src/thbrk/thbrk-private.h -> src/thbrk/brk-common.h: - Rename file, as thbrk-private.h contains only functions for common brk-* codes. - Rename thbrk_* functions back to brk_*. * src/thbrk/Makefile.am: * src/thbrk/thbrk.c: * +src/thbrk/brk-common.c: - Move common thbrk_* functions implementations to brk-common.c. - Rename the functions according to changes in brk-common.h. * src/thbrk/brk-maximal.c: - Update #include for thbrk-private.h to brk-common.h. - Update calls to thbrk_* to brk_*. - Remove #include's previously used by the common code. * src/libthai.c (_libthai_on_unload): - Update #include for thbrk-private.h to brk-common.h. - Update call to thbrk_on_unload() to brk_on_unload(). 2014-08-03 Theppitak Karoonboonyanan
Move brk_get_dict() to common thbrk code. * src/thbrk/brk-maximal.c, src/thbrk/thbrk-private.h: - Move brk_get_dict() declaration to thbrk-private.h. - Rename the function to thbrk_get_dict() for consistency. * src/thbrk/brk-maximal.c, src/thbrk/thbrk.c: - Move implementation of brk_get_dict() to thbrk.c. - Rename function & variable accordingly. * src/thbrk/brk-maximal.c (brk_root_pool): - Rename function call to thbrk_get_dict(). * src/thbrk/brk-maximal.h, src/thbrk/brk-maximal.c, src/thbrk/thbrk.c: - Move implementation of brk_maximal_on_unload() to thbrk_on_unload(). - Remove brk_maximal_on_unload() which is no longer needed. 2014-08-03 Theppitak Karoonboonyanan
Rename th_brkpos_hints() to thbrk_brkpos_hints(). * src/thbrk/thbrk-private.h, src/thbrk/thbrk.c, src/thbrk/brk-maximal.c: - Change function prefix for consistency. 2014-08-03 Theppitak Karoonboonyanan
Move th_brkpos_hints() to common thbrk code. This is a preparation for alternative word break algorithms. * src/thbrk/brk-maximal.c, src/thbrk/thbrk-private.h: - Move declaration of th_brkpos_hints() to thbrk-private.h. * src/thbrk/brk-maximal.c: - Include thbrk-private.h to get th_brkpos_hints() declaration. * src/thbrk/brk-maximal.c, src/thbrk/thbrk.c: - Move implementation of th_brkpos_hints() to thbrk.c. 2014-07-31 Theppitak Karoonboonyanan
* data/tdict-city.txt: * data/tdict-common.txt: * data/tdict-district.txt: * data/tdict-lang-ethnic.txt: Add words. 2014-06-30 Theppitak Karoonboonyanan
* data/tdict-common.txt: * data/tdict-district.txt: * data/tdict-geo.txt: * data/tdict-proper.txt: * data/tdict-science.txt: Add words. * data/tdict-std.txt: - Remove rare word 'จอแส' which causes wrong segmentation for 'จอแสดงผล' as 'จอแส|ดง|ผล'. 2014-03-06 Theppitak Karoonboonyanan
* data/tdict-city.txt: * data/tdict-common.txt: * data/tdict-district.txt: * data/tdict-ict.txt: * data/tdict-proper.txt: * data/tdict-spell.txt: Add words. * data/tdict-common.txt: - Remove 'บ๊วย' which duplicates an entry in tdict-std.txt. * data/tdict-proper.txt, data/tdict-district.txt: - Move 'กรือเซะ' from tdict-proper.txt to tdict-district.txt. * data/tdict-proper.txt, data/tdict-geo.txt: - Move 'แอตแลนติส' from tdict-proper.txt to tdict-geo.txt. 2014-01-11 Theppitak Karoonboonyanan
Fix warning in test suite. * tests/test_thbrk.c (main): - Fix compiler warning on unused return value from fgets(). Caught by debian package building with test suites enabled. 2013-12-21 Theppitak Karoonboonyanan
* data/tdict-std-compound.txt, data/tdict-std.txt: - Move 'ชุติมา' from -std-compound to -std. 2013-12-21 Theppitak Karoonboonyanan
* data/tdict-city.txt: * data/tdict-common.txt: * data/tdict-proper.txt: * data/tdict-science.txt: Add words. 2013-12-21 Theppitak Karoonboonyanan
* configure.in: Post-release version suffix added. 2013-10-25 Theppitak Karoonboonyanan
* configure.ac, NEWS: === Version 0.1.20 === 2013-10-25 Theppitak Karoonboonyanan
Fix warnings in tests. * tests/test_thwbrk.c (main): - Do some useful checks for 'unicodeCutCodeLength' unused var. - Cast (size_t) returned value of wcslen() to (long) and use "%ld" format to print it. - Remove trailing spaces in source. 2013-10-25 Theppitak Karoonboonyanan
Fix warnings in tests. * tests/test_thwchar.c (main): - Cast (thchar_t *) to (char *) to fix signedness differences. - Cast (thwchar_t) to (unsigned long) for "%lx" string format. - Cast (size_t) return values from wcslen() and strlen() to long, and use "%ld" format to print them. - Replace 'outputLength' var with 'tisLength' and 'uniLength' and do some useful checks on return values of th_tis2uni_line() and th_uni2tis_line(). 2013-10-25 Theppitak Karoonboonyanan
Fix warnings in tests. * tests/test_thinp.c (test_th_validate): - Cast (thchar_t *) to (char *), to fix signedness differences. * tests/thsort.c (readData): - Cast (size_t) to (long) and use "%ld" format to print it. - Redeclare maxData from int to size_t, to match that of nData. 2013-10-24 Theppitak Karoonboonyanan
* README: Remove version-specific text. 2013-10-22 Theppitak Karoonboonyanan
* data/tdict-common.txt: * data/tdict-geo.txt: * data/tdict-history.txt: * data/tdict-ict.txt: * data/tdict-proper.txt: * data/tdict-science.txt: * data/tdict-spell.txt: Add words. 2013-09-24 Theppitak Karoonboonyanan
* data/tdict-common.txt: * data/tdict-ict.txt: * data/tdict-proper.txt: * data/tdict-science.txt: Add words. 2013-09-23 Theppitak Karoonboonyanan
Check for doxygen required version. * configure.ac: - When doxygen-doc is enabled, also check doxygen version. 2013-09-23 Theppitak Karoonboonyanan
Update Doxyfile. * doc/Doxyfile.in: - Updated with 'doxygen -u'. 2013-09-23 Theppitak Karoonboonyanan
Fix automake warnings. * src/thbrk/Makefile.am: * src/thcell/Makefile.am: * src/thcoll/Makefile.am: * src/thctype/Makefile.am: * src/thinp/Makefile.am: * src/thrend/Makefile.am: * src/thstr/Makefile.am: * src/thwbrk/Makefile.am: * src/thwchar/Makefile.am: * src/thwctype/Makefile.am: * src/thwstr/Makefile.am: * tests/Makefile.am: - Replace deprecated INCLUDES with AM_CPPFLAGS. 2013-08-02 Theppitak Karoonboonyanan
* data/tdict-common.txt: * data/tdict-district.txt: * data/tdict-ict.txt: * data/tdict-proper.txt: Add words. * data/tdict-std.txt: Remove 'พาส' whose use is rare and which potentially causes ambiguity like in 'พาสมองเสื่อม'. 2013-02-24 Theppitak Karoonboonyanan
* data/tdict-common.txt: * data/tdict-geo.txt: * data/tdict-ict.txt: * data/tdict-lang-ethnic.txt: * data/tdict-proper.txt: * data/tdict-science.txt: Add words. 2013-02-24 Theppitak Karoonboonyanan
Remove compound words that potentially cause ambiguity. * data/tdict-std-compound.txt: - Remove 'มีหน้า' which can cause 'มีหน้า|ที่' instead of 'มี|หน้าที่'. - Remove 'ลืมตา' which can cause 'ลืมตา|มหา' instead of 'ลืม|ตาม|หา'. 2013-02-24 Theppitak Karoonboonyanan
* configure.in: Post-release version suffix added. 2013-01-29 Theppitak Karoonboonyanan
* configure.ac, NEWS: === Version 0.1.19 === 2013-01-28 Theppitak Karoonboonyanan
Modernize autoconf & switch to XZ tarball compression. * configure.in -> configure.ac: - Rename file for modern autoconf. - Replace deprecated AC_INIT() form with PACKAGE, VERSION form. - Use AC_CONFIG_SRCDIR() instead for the old AC_INIT() form. - Add AC_CONFIG_MACRO_DIR(). - Replace deprecated AC_INIT_AUTOMAKE() form with OPTIONS form, passing "dist-xz no-dist-gzip" options to switch to XZ tarball. * Makefile.am: - Add "-I m4" to ACLOCAL_AMFLAGS, as suggested by libtool. 2013-01-28 Theppitak Karoonboonyanan
Change th_validate() default level back to ISC_STRICT. * src/thinp/thinp.c (th_validate): - Change ISC level back from ISC_BASICCHECK to ISC_STRICT. ISC_BASICCHECK fails 'make check', and the previous value ISC_STRICT should be better for general input with correction. 2013-01-28 Theppitak Karoonboonyanan
* data/tdict-science.txt: Fix typo. 2013-01-27 Theppitak Karoonboonyanan
* data/tdict-common.txt: * data/tdict-ict.txt: * data/tdict-science.txt: * data/tdict-geo.txt: * data/tdict-lang-ethnic.txt: * data/tdict-proper.txt: * data/tdict-city.txt: * data/tdict-district.txt: Add words. * data/tdict-std-compound.txt: Drop loose compound 'สว่างไสว'. 2012-11-07 Theppitak Karoonboonyanan
Add input method API for correction with levels. * include/thai/thinp.h: * src/libthai.def: * src/libthai.map (+th_validate_leveled): - Add API for input validation with strictness arg. * src/thinp/thinp.c (th_validate, th_validate_leveled): - Convert old th_validate() code to th_validate_leveled() and replace the hard-coded ISC_STRICT with the arg. - Make the old th_validate() a wrapper to th_validate_leveled() with default param (ISC_BASICCHECK, not ISC_STRICT, though). * configure.in: - Bump library versions to reflect the added API. 2012-11-07 Theppitak Karoonboonyanan
* data/tdict-city.txt: * data/tdict-science.txt: * data/tdict-ict.txt: * data/tdict-lang-ethnic.txt: Add words. 2012-10-16 Theppitak Karoonboonyanan
* data/tdict-common.txt: * data/tdict-district.txt: * data/tdict-ict.txt: * data/tdict-proper.txt: * data/tdict-science.txt: Add words. 2012-07-30 Theppitak Karoonboonyanan
* doc/Doxyfile.in: Upgrade to doxygen 1.8.1.2 format. 2012-07-29 Theppitak Karoonboonyanan
* data/tdict-city.txt: * data/tdict-common.txt: * data/tdict-proper.txt: * data/tdict-science.txt: * data/tdict-spell.txt: Add words. 2012-07-30 Theppitak Karoonboonyanan
* doc/Doxyfile.in: Upgrade to doxygen 1.8.1.2 format. 2012-06-15 Theppitak Karoonboonyanan
* configure.in: Post-release version suffix added. 2012-06-12 Theppitak Karoonboonyanan
* configure.in, NEWS: === Version 0.1.18 === 2012-06-12 Theppitak Karoonboonyanan
* data/tdict-city.txt: * data/tdict-common.txt: * data/tdict-lang-ethnic.txt: * data/tdict-proper.txt: Add words. 2012-06-11 Theppitak Karoonboonyanan
* data/tdict-std.txt: Remove some prefix-words as found during working on thailatex hyphenation. 2012-06-10 Theppitak Karoonboonyanan
* data/tdict-common.txt: * data/tdict-proper.txt: * data/tdict-city.txt: * data/tdict-ict.txt: Add words. 2012-06-08 Theppitak Karoonboonyanan
* configure.in: Belated post-release version suffix added. 2012-06-08 Theppitak Karoonboonyanan
* data/tdict-city.txt: * data/tdict-common.txt: * data/tdict-ict.txt: * data/tdict-proper.txt: * data/tdict-spell.txt: Add words. 2012-03-07 Theppitak Karoonboonyanan
* data/tdict-std-compound.txt, data/tdict-std.txt: Fix typos. 2012-02-24 Theppitak Karoonboonyanan
* data/tdict-common.txt: Add words. 2012-02-21 Theppitak Karoonboonyanan
* configure.in, NEWS: === Version 0.1.17 === 2012-02-21 Theppitak Karoonboonyanan
* configure.in: Bump library revision, due to code change. 2012-02-21 Theppitak Karoonboonyanan
* tests/test_thbrk.c, tests/test_thwbrk.c: Add acronym to the tests. 2012-02-21 Theppitak Karoonboonyanan
* data/tdict-history.txt: * data/tdict-proper.txt: * data/tdict-city.txt: * data/tdict-spell.txt: * data/tdict-ict.txt: * data/tdict-common.txt: Add words. 2012-02-20 Theppitak Karoonboonyanan
* src/thbrk/thbrk.c (th_brk): Do not break last Thai chunk with dictionary if it's acronym. 2012-02-14 Theppitak Karoonboonyanan
* data/tdict-history.txt: * data/tdict-spell.txt: * data/tdict-common.txt: Add words. * data/tdict-geo.txt: Fix typo. 2012-02-08 Theppitak Karoonboonyanan
* data/tdict-history.txt: * data/tdict-proper.txt: * data/tdict-city.txt: * data/tdict-science.txt: * data/tdict-geo.txt: * data/tdict-ict.txt: * data/tdict-spell.txt: * data/tdict-district.txt: * data/tdict-common.txt: Add words. 2012-02-07 Theppitak Karoonboonyanan
* src/thbrk/thbrk.c (th_brk): Handle Thai acronyms by detecting groups of <= 3 Thai characters + '.'. Thanks John Tapsell for the report and initial patch. 2012-02-07 Theppitak Karoonboonyanan
* src/thrend/thrend.c (th_render_cell_): Reformat source a little bit. 2012-01-18 Theppitak Karoonboonyanan
* data/tdict-proper.txt: * data/tdict-city.txt: * data/tdict-science.txt: * data/tdict-ict.txt: * data/tdict-common.txt: Add words. * data/tdic-proper.txt, data/tdict-history.txt: Move "ศรีวิชัย" to -history. 2012-01-18 Theppitak Karoonboonyanan
* configure.in: Post-release version suffix added. 2011-11-05 Theppitak Karoonboonyanan
* configure.in, NEWS: === Version 0.1.16 === 2011-11-05 Theppitak Karoonboonyanan
* configure.in: - Remove remaining '$Id'. - Remove unnecessary AC_SUBST(VERSION). 2011-11-05 Theppitak Karoonboonyanan
* -TODO: Removed, the plan is obsolete. 2011-11-05 Theppitak Karoonboonyanan
* README: Update project URL & e-mail. * configure.in: Use googlegroups as bug report address. 2011-11-05 Theppitak Karoonboonyanan
* configure.in: Add bug report address. 2011-11-05 Theppitak Karoonboonyanan
* data/tdict-history.txt: * data/tdict-proper.txt: * data/tdict-spell.txt: * data/tdict-common.txt: Add words. * data/tdict-country.txt: Use more popular short name for Saudi Arabia. 2011-10-25 Theppitak Karoonboonyanan
* data/tdict-common.txt, data/tdict-city.txt: "ไดฟุกุ" is city name. 2011-10-25 Theppitak Karoonboonyanan
* data/tdict-science.txt: * data/tdict-common.txt: Add words. 2011-09-03 Theppitak Karoonboonyanan
* data/tdict-proper.txt: * data/tdict-common.txt: Add words. * data/tdict-std.txt: Remove "มาย" which is rare but can potentially cause ambiguity (e.g. "มายกร่าง"). A valid compound, "เมามาย" is already in tdict-std-compound.txt. 2011-07-19 Theppitak Karoonboonyanan
* data/tdict-proper.txt: * data/tdict-science.txt: * data/tdict-geo.txt: * data/tdict-ict.txt: * data/tdict-common.txt: Add words. * data/tdict-std-compound.txt: Remove loose compound. * data/tdict-std.txt: - Remove rare words which potentially cause ambiguities. - Remove a duplicated entry. 2011-06-08 Theppitak Karoonboonyanan
* data/tdict-proper.txt: * data/tdict-city.txt: * data/tdict-science.txt: * data/tdict-geo.txt: * data/tdict-ict.txt: * data/tdict-spell.txt: * data/tdict-common.txt: * data/tdict-lang-ethnic.txt: Add words. 2011-06-08 Theppitak Karoonboonyanan
* configure.in: Post-release version suffix added. 2011-03-24 Theppitak Karoonboonyanan
* configure.in, NEWS: === Version 0.1.15 === 2011-03-24 Theppitak Karoonboonyanan
* data/tdict-history.txt: * data/tdict-proper.txt: * data/tdict-city.txt: * data/tdict-science.txt: * data/tdict-spell.txt: * data/tdict-district.txt: * data/tdict-common.txt: Add words. 2011-03-22 Theppitak Karoonboonyanan
* data/tdict-proper.txt: * data/tdict-science.txt: * data/tdict-spell.txt: * data/tdict-district.txt: * data/tdict-common.txt: Add words. 2011-03-22 Theppitak Karoonboonyanan
* data/tdict-history.txt: * data/tdict-proper.txt: * data/tdict-district.txt: Move 2 names from proper, district to history. * data/tdict-proper.txt: * data/tdict-city.txt: * data/tdict-district.txt: * data/tdict-common.txt: Add words. 2011-03-20 Theppitak Karoonboonyanan
* data/tdict-district.txt: * data/tdict-history.txt: Move "หริภุญชัย" from district to history list. * data/tdict-city.txt: Change "ฟูกุโอกะ" to "ฟูกูโอกะ", which is statistically more popular. * data/tdict-history.txt: * data/tdict-proper.txt: * data/tdict-city.txt: * data/tdict-science.txt: * data/tdict-geo.txt: * data/tdict-spell.txt: * data/tdict-common.txt: Add words. 2011-03-15 Theppitak Karoonboonyanan
Split historical names out of tdict-city.txt and tdict-district.txt. * data/Makefile.am: * +data/tdict-history.txt: * data/tdict-city.txt: * data/tdict-district.txt: Split historical names into tdict-history.txt. * data/tdict-city.txt: * data/tdict-geo.txt: * data/tdict-lang-ethnic.txt: Move 2 names from tdict-city.txt to tdict-geo.txt and tdict-lang-ethnic.txt. 2011-03-15 Theppitak Karoonboonyanan
Split tdict-country.txt and tdict-city.txt out of tdict-geo.txt and let tdict-geo.txt keeps only geographical names. * data/Makefile.am: * +data/tdict-country.txt: * +data/tdict-city.txt: * data/tdict-geo.txt: - Split country names into tdict-country.txt - Split city names into tdict-city.txt * data/tdict-geo.txt: * data/tdict-lang-ethnic.txt: - Split language/etchnic names into tdict-lang-ethnic.txt 2011-03-15 Theppitak Karoonboonyanan
* data/tdict-proper.txt: * data/tdict-common.txt: * data/tdict-geo.txt: Add words. 2011-03-14 Theppitak Karoonboonyanan
* data/tdict-spell.txt: * data/tdict-proper.txt: * data/tdict-common.txt: * data/tdict-geo.txt: Add words. 2011-03-09 Theppitak Karoonboonyanan
* data/tdict-ict.txt: * data/tdict-district.txt: * data/tdict-common.txt: * data/tdict-science.txt: Add words. 2010-12-27 Theppitak Karoonboonyanan
Adjust dictionary, as per Widhaya's feedback: http://groups.google.com/group/thai-linux-foss-devel/browse_thread/ thread/986f74d786c9bace * data/tdict-std-compound.txt: * data/tdict-std-common.txt: - Remove some compounds that may cause potential ambiguities. * data/tdict-spell.txt: * data/tdict-common.txt: - Add words. 2010-12-23 Theppitak Karoonboonyanan
* data/tdict-{common,geo}.txt: Add words. 2010-05-17 Theppitak Karoonboonyanan
* data/tdict-{district,common,science}.txt: Add words. 2010-03-14 Theppitak Karoonboonyanan
* configure.in: Post-release version suffix added. Turn off manpages generation * doc/Doxyfile.in: Turn GENERATE_MAN off. * doc/Makefile.am: Remove man targets. 2010-02-28 Theppitak Karoonboonyanan
* configure.in: Bump library revision. * configure.in, NEWS: === Version 0.1.14 === 2010-02-28 Theppitak Karoonboonyanan
* data/tdict-{ict,proper,common}.txt: Add words. 2010-02-28 Theppitak Karoonboonyanan
* src/thcoll/cweight.c (char_weight_tbl_): Replace TIS-620 characters in comments with character names. * src/thctype/thctype.c (_th_ctype_tbl, _th_chlevel_tbl): Remove non-TIS-620 characters from comments. Convert source to UTF-8. 2010-02-27 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_get_dict): Limit path[] scope. 2010-02-27 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_get_dict): Print some warning when dictionary opening fails. 2010-02-27 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_get_dict): Do not try to open dictionary again if once tried. Multiple failing trials degraded performance. 2010-02-25 Theppitak Karoonboonyanan
* include/thai/*.h, src/*.c, src/*/*.c: Add my e-mail address to license header as the contact address. * src/thctype/wtt.c, * src/thctype/thctype.c, * src/thcoll/cweight.h, * src/thcoll/cweight.c, * src/thwctype/thwctype.c: Add editor modeline. 2010-02-24 Theppitak Karoonboonyanan
* src/thinp/thinp.c, * src/thrend/thrend.c, * src/thcoll/thcoll.c, * src/thcoll/cweight.c, * src/thwstr/thwstr.c, * src/thwchar/thwchar.c, * src/thwbrk/thwbrk.c, * src/thstr/thstr.c, * src/thcell/thcell.c: Reformat source. Add editor modeline. 2010-02-24 Theppitak Karoonboonyanan
* tests/thsort.c: Yet another GPL header leftover removal. Update my e-mail address. 2010-02-24 Theppitak Karoonboonyanan
Replace
with a rewritten one, so we can enforce the license. * include/thai/tis.h: Rewritten based on Unicode names, with TIS_ prefix. * src/thinp/thinp.c (corrections, th_validate), * src/thrend/thrend.c (shiftdown_tone_ad, shiftdownleft_tone_ad, shiftleft_tone_ad, shiftdown_bv_bd, tailcutcons, th_render_cell_, th_render_cell_tis), * src/thbrk/brk-maximal.c (th_brkpos_hints), * src/thcell/thcell.c (th_next_cell, th_prev_cell), * tests/test_thcell.c (test_ans_nodecomp_am, test_ans_decomp_am): Update character names to the new TIS_* ones. 2010-02-24 Theppitak Karoonboonyanan
* include/thai/*.h, src/*.c, src/*/*.c, * Makefile.am, include/Makefile.am, include/thai/Makefile.am, * src/Makefile.am, src/*/Makefile.am, * tests/*.c, tests/*.sh, * tests/Makefile.am, * data/Makefile.am, * man/template.3, man/man3/*.3, * man/Makefile.am, man/man3/Makefile.am: Remove CVS $Id in all files. * src/thctype/wtt.c: Fix file name in comment. 2010-02-24 Theppitak Karoonboonyanan
* include/thai/*.h, src/*.c, src/*/*.c: Add license header to every source file. 2010-02-23 Theppitak Karoonboonyanan
* doc/Makefile.am: The added *.c dependencies must be from src/*/*.c, not include/thai/*.c. Silly copy-and-paste error. 2010-02-23 Theppitak Karoonboonyanan
* doc/Makefile.am: Add *.c to doxygen.stamp dependency, as the doc comments have been moved there. 2010-02-17 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_root_pool): Fail if brk_get_dict() returns NULL. 2010-02-17 Theppitak Karoonboonyanan
* data/tdict-{ict,proper,common,science}.txt: Add words. 2010-01-30 Theppitak Karoonboonyanan
* src/thcoll/cweight.c, src/thcoll/cweight.h, src/thcoll/thcoll.c: Remove GPL header left over. The library is LGPL. 2010-01-25 Theppitak Karoonboonyanan
* src/brk-maximal.c (brk_root_pool): Fail if brk_pool_node_new() returns NULL. * src/brk-maximal.c (brk_maximal_do_impl): Fail if best_brk_new() returns NULL. 2010-01-25 Theppitak Karoonboonyanan
* configure.in: Post-release version suffix added. 2010-01-15 Theppitak Karoonboonyanan
* configure.in: Bump library revision. * configure.in, NEWS: === Version 0.1.13 === 2010-01-15 Theppitak Karoonboonyanan
* configure.in: Add 'AC_CONFIG_MACRO_DIR([m4])' for the new libtool. 2010-01-15 Theppitak Karoonboonyanan
* src/thwchar/thwchar.c (th_tis2uni_line, th_uni2tis_line): Fix type of 'result' argument to match that in header file, so doxygen recognizes and generates doc for it. 2010-01-15 Theppitak Karoonboonyanan
* data/tdict-{proper,common}.txt: Add words. 2010-01-14 Theppitak Karoonboonyanan
* include/thai/thctype.h, src/thctype/thctype.c: Replace non-portable isascii() with most-significant bit check. 2010-01-14 Theppitak Karoonboonyanan
* data/tdict-{common,geo}.txt: Add words. 2010-01-14 Theppitak Karoonboonyanan
* include/thai/thailib.h, src/libthai.c: Move more doc comments. 2010-01-09 Theppitak Karoonboonyanan
Move documentation from *.h to *.c, so libthai developers have the doc at hand. Users can still read the doxygen-generated doc BTW. * include/thai/*.h, src/*/*.c: Move doc comments from *.h to *.c. * doc/Doxyfile.in: Set INPUT to @top_srcdir@. 2010-01-08 Theppitak Karoonboonyanan
* data/tdict-{proper,common,geo}.txt: Add words. 2010-01-08 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_shot_init): Return failure/success status. * src/thbrk/brk-maximal.c (brk_pool_node_new): Check & handle return code from brk_shot_init(). 2010-01-08 Theppitak Karoonboonyanan
* src/thwbrk/thwbrk.c (th_wbrk, th_wbrk_line): Rewritten, for harmony with the rests of the source, plus potential integer overflow vulnerability removed. 2010-01-08 Theppitak Karoonboonyanan
Fix potential integer overflow vulnerabilities. Thanks Tim Starling
for pointing out. * src/thbrk/thbrk.c (th_brk_line): Return zero if malloc size overflows or malloc fails. * src/thbrk/brk-maximal.c (best_brk_new): Return NULL if malloc size overflows. 2009-08-22 Theppitak Karoonboonyanan
* configure.in: Post-release version suffix added. * data/tdict-std-compound.txt: Remove loose compounds. * data/tdict-{ict,district,proper,common,science,lang-ethnic,geo}.txt: Add words. 2009-06-18 Theppitak Karoonboonyanan
* configure.in: Bump library revision. * configure.in, NEWS: === Version 0.1.12 === 2009-06-18 Theppitak Karoonboonyanan
* data/tdict-std-compound.txt: Remove loose compounds. 2009-06-18 Theppitak Karoonboonyanan
* data/tdict-std-compound.txt: Remove loose compounds. * data/tdict-{ict,district,proper,common,science,geo}.txt: Add words. 2009-06-17 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_maximal_do_impl, best_brk_contest): Back out weighted scoring for solution contest, as it sometimes tries too hard to minimize word count, even though another solution with more known words can match more text and results in smaller unknown zone. Accidental words problem, which this scheme tried to address, has already been alleviated with increased recovery threshold. 2009-06-17 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_maximal_do_impl): Add break pos at string end and let it enter the contest, instead of backing it out by moving back str_pos as done in previous commit. That commit just missed the point. Doing the right thing also guarantees consistency with the case when some text of valid words is appended to the string. 2009-06-17 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_maximal_do_impl): Set str_pos for cases that fail at string end back to the last progress position, to prevent it from wrongly winning the contest over some good candidates. 2009-06-17 Theppitak Karoonboonyanan
* src/tkbrk/brk-maximal.c (RECOVERED_WORDS): Increase recovery threshold, 2 is too few and can trigger wrong recovery position too easily. 2009-06-15 Theppitak Karoonboonyanan
* data/Makefile.am, +data/tdict-lang-ethnic.txt: Add a new category. * data/tdict-{common,geo}.txt, data/tdict-lang-ethnic.txt: Move some words to the new category. * data/tdict-{lang-ethnic,ict,spell,proper,common,science,geo}.txt: Add words. * data/tdict-std.txt: Remove a duplicated compound. 2009-06-13 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (best_brk_contest): Compare penalties with '<=' like in previous code, instead of '<', to retain longest-matching effect in case of equal scores. 2009-06-10 Theppitak Karoonboonyanan
* data/tdict-std-compound.txt: Remove loose compounds. * data/tdict-{common,proper}.txt: Move a proper noun to tdict-proper. * data/tdict-{ict,spell,district,proper,common,science,geo}.txt: Add words. 2009-06-10 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_maximal_do_impl, best_brk_contest): Use weighted scoring, rather than parameters prioritization, to choose better solution. 2009-06-10 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_maximal_do_impl): When recovering from error, try to recover from the position next to the last break, rather than right at the crash position. We care the input string, not what it's being partially matched against. 2009-06-10 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_recover): When checking a character in text, brk pos returned from brk_recover_try() are relative to 'text + p', not 'text'. 2009-06-10 Theppitak Karoonboonyanan
Split normal word break and recovery routines apart. * src/thbrk/brk-maximal.c (brk_maximal_do_impl, +brk_recover_try): - Split brk_maximal_do_impl() into itself with (do_recover == 1) and brk_recover_try() with (do_recover == 0), for logic simplification. - Strip unnecessary tasks like best break contests and penalties from brk_recover_try(). All it needs is existence of a solution, regardless of its quality. - Use memcpy() to copy brk pos arrays instead of for loop. * src/thbrk/brk-maximal.c (brk_maximal_do, brk_recover): - Adjust calls to brk_maximal_do_impl() and brk_recover_try() according to the changed prototypes. 2009-06-10 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_maximal_do_impl): Add one missing change for last commit. 2009-06-10 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_maximal_do_impl): Update 'shot' after 'node' is changed, instead of referencing through the possibly new 'node' value, for code readability. 2009-06-10 Theppitak Karoonboonyanan
Beautify code. * src/thbrk/brk-maximal.c (th_brkpos_hints): Adjust indents. * src/thbrk/brk-maximal.c (brk_recover): Adjust brackets. 2009-06-10 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (th_brkpos_hints): Add check for cases like 'เฉพาะ'. 2009-06-07 Theppitak Karoonboonyanan
* configure.in: Remove obsolete Win32 checking stuffs. 2009-06-07 Theppitak Karoonboonyanan
Add symbol versioning. * configure.in: Check for -version-script support in linker. * +src/libthai.map: Add symbol map. * src/Makefile.am: - Conditionally supply -version-script, if supported, or -export-symbols otherwise, to linker. - Conditionally specify libthai.map or libthai.def as libthai.la dependency, according to corresponding linker option applied. - Include libthai.map in EXTRA_DISTS. 2009-06-05 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (th_brkpos_hints): Fix comment style to C, not C++. 2009-06-05 Theppitak Karoonboonyanan
Fix wrong case of syllable like 'ช็อก'. * src/thbrk/brk-maximal.c (th_brkpos_hints): - The case of SARA E/AE with next third character as MAITAIKHU should not apply when the MAITAIKHU is followed by O ANG or WO WAEN. That's a signature of new syllable, such as 'ช็อก'. - Add the case of syllable like 'ช็อก' or 'ช็วก'. 2009-06-05 Theppitak Karoonboonyanan
Refactor so brk hints is prepared only once per brk_maximal_do() call. * src/thbrk/brk-maximal.c (brk_maximal_do, +brk_maximal_do_impl): Split implementation code into _impl() function, and let the original brk_maximal_do() be a wrapper doing necessary preparations. * src/thbrk/brk-maximal.c (brk_recover): Call brk_maximal_do_impl() instead of brk_maximal_do(), passing the appropriate brk hints subarray to it. * src/thbrk/brk-maximal.{c,h} (brk_maximal_do): * src/thbrk/thbrk.c (th_brk): Drop the do_recover arg from brk_maximal_do(), as it's now a wrapper which can seed initial condition for the mutual recursion. * src/thbrk/brk-maximal.c (th_brkpos_hints): Add prototype. 2009-06-04 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (th_isleadable -> th_brkpos_hints): - Turn simple leadable check into a pre-processed break position hinting. Instead of doing the complicated checks on every loop, now the clients just check the prepared boolean array. - Add more complicated cases, such as Thai composite vowels. * src/thbrk/brk-maximal.c (brk_recover): - Change prototype to accept brk pos hints, so it doesn't need to be recalculated. - Drop additional checks of preceeding ldvowel, as it's already covered by the brk pos hints. * src/thbrk/brk-maximal.c (brk_maximal_do): - Pre-calculate brk pos hints on entry, and free it on exit. - Check the hints instead of calling the obsolete th_isleadable(). - Pass the hints to brk_recover(). 2009-06-03 Theppitak Karoonboonyanan
* data/tdict-{ict,proper,common,science,geo}.txt: Add words. 2009-05-27 Theppitak Karoonboonyanan
* data/tdict-{std-compound,common}.txt: Remove some loose compounds. * data/tdict-common.txt: Reorder some words. * data/tdict-{ict,proper,common,science,geo}.txt: Add words. 2009-05-24 Theppitak Karoonboonyanan
* src/Makefile.am: Refactor and add sublibs to libthai.la dependencies, so the final library gets rebuilt when its sub-libraries are changed. 2009-05-22 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (th_isleadable): Consonant following MAITAIKHU is not always unleadable, such as after "ก็". So, drop the case. 2009-05-18 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (th_isleadable): Also check for certain vowels like MAITAIKHU, MAIHUNAKAT, SARA UEE in previous cell for non-leadable consonants. * src/thbrk/brk-maximal.c (brk_maximal_do, brk_recover): Adjust th_isleadable() calls according to prototype change. 2009-05-16 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (th_isleadable): Prohibit consonants with THANTHAKHAT from being leadable. * src/thbrk/brk-maximal.c (brk_maximal_do, brk_recover): Adjust th_isleadable() calls according to prototype change. 2009-05-15 Theppitak Karoonboonyanan
* data/tdict-{ict,proper,common,science,geo}.txt: Add words. 2009-05-13 Theppitak Karoonboonyanan
* data/Makefile.am, data/tdict-*.txt: Convert wordlists from TIS-620 to UTF-8, for easy management with modern tools. 2009-05-13 Theppitak Karoonboonyanan
* data/tdict-std-compound.txt: Remove some loose compounds. * data/tdict-{ict,spell,district,proper,common,science,geo}.txt: Add words. 2009-05-07 Theppitak Karoonboonyanan
* data/tdict-{ict,district,proper,common,science,geo}.txt: Add words. * data/tdict-proper.txt: Sort some words properly. 2009-04-29 Theppitak Karoonboonyanan
* data/tdict-{ict,proper,common,science,geo}.txt: Add words. 2009-04-22 Theppitak Karoonboonyanan
* configure.in: Post-release version prefix added. * data/tdict-{ict,district,proper,common,geo}.txt: Add words. * data/tdict-{common,collection}.txt: Move some collection of words to appropriate category. 2009-04-06 Theppitak Karoonboonyanan
* configure.in: Bump library revision. * configure.in, NEWS: === Version 0.1.11 === 2009-04-05 Theppitak Karoonboonyanan
* data/tdict-{ict,district,proper,common,science,geo}.txt: Add words. 2009-03-31 Theppitak Karoonboonyanan
* configure.in: Post-release version suffix added. * libthai.pc.in: Require datrie-0.2 privately, to avoid exposing it unnecessarily to applications. This had even caused upgrading problem when libdatrie with different soname versions are loaded simultaneously, one from the application, and the other from libthai. And with libdatrie poor symbols handling, this had caused name clash. Thanks Loic Minier for pointing out the cause. 2009-03-30 Theppitak Karoonboonyanan
* libthai.pc.in: Requires datrie-0.2 instead of datrie. * configure.in: Bump library revision. * configure.in, NEWS: === Version 0.1.10 === 2009-03-30 Theppitak Karoonboonyanan
* tdict-{common,district,ict,proper}.txt: Add words. * tdict-std.txt: Remove 2 potentially ambiguous words. 2009-03-30 Theppitak Karoonboonyanan
* tdict-{district,proper,common,geo}.txt: Add words. * tdict-collection.txt: Add another variant of "x" transcription. 2009-03-20 Theppitak Karoonboonyanan
* data/tdict-std-compound.txt: Removed potentially ambiguous word. * data/tdict-{ict,district,science}.txt: Add words. 2009-03-12 Theppitak Karoonboonyanan
* data/tdict-{common,geo,ict,spell}.txt: Add words. Move word from -common to -spell as appropriate. 2009-01-21 Theppitak Karoonboonyanan
First SVN commit. * data/tdict-{common,geo}.txt: Add words. 2009-01-08 Theppitak Karoonboonyanan
* data/tdict-common.txt, data/tdict-proper.txt: Move more proper nouns from tdict-common. * data/tdict-{collection,common,district,geo,ict,proper,science, spell}.txt: Add words. 2008-12-28 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_get_dict): Move comment to proper place. 2008-12-28 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_get_dict): Adjust code so that brk_dict is not checked twice for normal cases. 2008-12-28 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_maxmimal_do): Call trie_state_is_single() instead of trie_state_is_leaf() when a state is known to be terminal, eliminating redundant check. (Requires libdatrie >= 0.1.99.2+cvs20081228) 2008-12-27 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_shot_init, brk_shot_reuse, best_brk_contest): Use memcpy() to copy arrays, rather than iteration via array index. Yet another minor performance improvement. * src/thbrk/brk-maximal.c (brk_shot_reuse): Re-allocate 'brk_pos' array only when growing, and never bother shrinking it. 2008-12-26 Theppitak Karoonboonyanan
Reuse break pool nodes more deeply, improving performance a little bit. (Requires libdatrie >= 0.1.99.2+cvs20081226) * src/thbrk/brk-maximal.c (brk_shot_copy -> brk_shot_init, +brk_shot_reuse): Split brk_shot_copy() into brk_shot_init() and brk_shot_reuse(). The former is for newly created nodes, while the latter is for reusing old nodes, with memory reallocation minimized. * src/thbrk/brk-maximal.c (brk_pool_node_new): Separately call brk_shot_init() and brk_shot_reuse() per case. * src/thbrk/brk-maximal.c (brk_pool_free): Do not destruct BrkShot member. Keep it for further reuses. * src/thbrk/brk-maximal.c (brk_pool_allocator_clear): ..And actually destruct it here. * src/thbrk/brk-maximal.c (brk_root_pool): Save one malloc() call for temporary 'root_shot'. 2008-12-26 Theppitak Karoonboonyanan
* src/thbrk/brk-maximal.c (brk_pool_get_node, brk_maximal_do): Get rid of unused arg 's' for brk_pool_get_node(). 2008-12-26 Theppitak Karoonboonyanan
* data/tdict-ict.txt: Add words. 2008-12-23 Theppitak Karoonboonyanan
Add housekeeping routine to clean up dictionary. * src/Makefile.am, src/dummy.c -> libthai.c, src/libthai.def: Add destructor function in .fini section, to be called on library unload. * src/thbrk/Makefile.am, +src/thbrk/thbrk-private.h, src/thbrk/thbrk.c (thbrk_on_unload): Add on-unload function for thbrk module. * src/thbrk/brk-maximal.h, src/thbrk/brk-maximal.c (brk_get_dict, brk_maximal_on_unload): - Move 'brk_dict' static var from function to file scope - Add on-unload function to clean up dictionary 2008-12-23 Theppitak Karoonboonyanan
* src/brk-maximal.c (brk_maximal_do): Adjust if-block a little bit. 2008-12-23 Theppitak Karoonboonyanan
* data/tdict-{geo,ict}.txt: Add words. 2008-12-17 Theppitak Karoonboonyanan
* data/Makefile.am, +data/tdict-proper.txt, data/tdict-common.txt: Split proper nouns from tdict-common.txt into a new list. * data/tdict-{common,proper}.txt: Add words 2008-12-16 Theppitak Karoonboonyanan
* data/Makefile.am: No need to install 'thbrk.abm' any more. 2008-12-15 Theppitak Karoonboonyanan
* data/tdict-{common,geo,ict}.txt: Add words. 2008-12-15 Theppitak Karoonboonyanan
Switch to libdatrie 0.2. (Requires libdatrie >= 0.1.99.2) * configure.in: - Check for 'trietool-0.2' binary instead of 'trietool' - Check for 'datrie-0.2' pkg-config instead of 'datrie' * src/thbrk/brk-maximal.c: - Replace 'SBTrie' with 'Trie' - Replace 'SBTrieState' with 'TrieState' - Replace 'sb_trie_*' function calls with corresponding 'trie_*' - For 'sb_trie_state_walk()', also convert TIS-620 char to UCS-4 before actually walking - For 'sb_trie_open()', replace with 'trie_new_from_file()', plus dir + path combined * data/Makefile.am: - Replace '*.br' and '*.tl' targets with '*.tri' - Add '-e tis-620' command-line argument to trietool * data/Makefile.am, data/thbrk.sbm -> data/thbrk.abm: - Replace 'thbrk.sbm' (TIS-620) with 'thbrk.abm' (Unicode) * tests/Makefile.am: - Add 'libthwchar.la' where 'libthbrk.la' is used, as th_tis2uni() is required there 2008-06-24 Theppitak Karoonboonyanan
* configure.in, Makefile.am: Add --disable-dict option to prevent dictionary data generation. 2007-10-18 Theppitak Karoonboonyanan