v0.5.1

@czchen czchen released this May 18, 2016 · 51 commits to master since this release

What's New in libchewing 0.5.1 (May 18, 2016)

  • Bug fixed:
    • Fix wrong CHEWING_DATADIR definition in CMake build #222.
    • Fix j, k selection when symbol in between #149 #221.

Downloads

v0.5.0

@czchen czchen released this May 2, 2016 · 60 commits to master since this release

What's New in libchewing 0.5.0 (May 2, 2016)

  • New feature
    • Add Carpalx keyboard layout support #217.
  • Dictionary
  • Misc
    • Tweak several comments.
    • Fix libchewing document.
    • Remove old/dead code.
    • Improve code readability and consistency.
    • Update automake syntax #114.
    • Add test cases #169 #177.
    • Update Python sample code.
    • Add debug tool dump_database.
    • Integrate coverity scan in https://scan.coverity.com/.
  • Platform-specific
    • Update README for OS X.
    • Set WITH_INTERNAL_SQLITE3 to true by default in MS-Windows.
    • Fix Visual Studio compiling warnings/errors #168 #171 #189 #190 #213.
    • Add a cmake option BUILD_DLL to enable building *.dll with MS VC++ #185.
    • Make the python binding of libchewing support Windows dll files #186.
    • Don't use SIGSTOP in MS-Windows.
  • Bug fixed
    • Check if ld supports --no-defined #144.
    • Fix unexpected candidate disorder for '1' #153
    • Replace bash-izm '==' operator with '=' for test(1) # 158.
    • Fix several Coverity errors #172 #173.
    • Fix ChewingKillChar which is disabling OpenSymbolChoice #160 #181.
    • ㄅ cannot overwrite ㄆ in HSU and ET26 #170 #183.
  • Successful stories:
    • Rime Input Method Engine (RIME) takes partial dictionary from
      libchewing.
    • PIME (writing input methods for Windows easily with Python) supports
      Chewing IM by default.

Downloads

v0.4.0

@czchen czchen released this Apr 11, 2014 · 286 commits to master since this release

What's New in libchewing 0.4.0 (Apr 11, 2014)

  • Add the following APIs:
    • Userphrase manipulation
      • chewing_userphrase_enumerate
      • chewing_userphrase_has_next
      • chewing_userphrase_get
      • chewing_userphrase_add
      • chewing_userphrase_remove
      • chewing_userphrase_lookup
    • Keyboardless action
      • chewing_cand_open
      • chewing_cand_close
      • chewing_cand_string_by_index_static
      • chewing_cand_choose_by_index
      • chewing_cand_list_first
      • chewing_cand_list_last
      • chewing_cand_list_has_next
      • chewing_cand_list_has_prev
      • chewing_cand_list_next
      • chewing_cand_list_prev
      • chewing_commit_preedit_buf
      • chewing_clean_preedit_buf
      • chewing_clean_bopomofo_buf
    • Bopomofo buffer
      • chewing_bopomofo_Check
      • chewing_bopomofo_String_static
    • Static API
      • chewing_aux_String_static
      • chewing_buffer_String_static
      • chewing_cand_String_static
      • chewing_commit_String_static
      • chewing_kbtype_String_static
    • Misc
      • chewing_new2
  • Dictionary format:
    • Remove text data support
    • Introduce platform independent binary data representation
    • Move binary data to share/libchewing/*
  • Userphrase format:
    • Support SQLite-based user phrase storage and manipulation
  • New coding style:
    • Use scripts/indent.sh to change coding style
  • Bug fixed:
    • Fix chewing_zuin_Check wrong return value #62
    • Fix numlock key cannot output number #45
    • Fix negative frequency problem #75
    • Fix cannot select candidate when symbol exists #79
    • Avoid clearing the buffer when Up arrow key is pressed and escCleanAllBuf is 1.
    • Fix cannot handle numlock 9 correctly #88
    • Fix invalid characters are committed when pre-edit buffer is full
    • Fix AutoLearnPhrase cannot fill correct wordSeq #108
    • Fix wrong auto learn when symbol in between #112
    • Fix missing rpl_malloc for cross compilation #118
    • Fix '\n' appear in symbol table #126
    • Reopen candidate list for symbols with down key #127 #135
    • Let up key close candidate list of symbols #131 #138
  • Misc:
    • Add `make check' in cmake build
    • Change MAX_UTF8_SIZE to 4
    • Update official website URL
    • Use CreateFileA() instead of CreateFile() to stick with the ANSI API
    • Do not check phrase longer than MAX_PHRASE_LEN
    • Implement dynamic programming phrasing algorithm #73
    • Clean bopomofo buffer when mode change to English mode #89 #97
    • Update README to GFM.
    • Replace 'INCLUDE' with 'AM_CPPFLAGS' #68 #114 #116
    • Use [Shift]+[-] to input EM DASH (u+2014) as default #113 #124
    • Use Backspace to close candidate window #128
    • Use PgUp/PgDn to turn pages of candidates #129
    • Update Windows default search path #78
    • The word "zuin", "Zhuyin" are obsolete terms for "Bopomofo"
    • Add const whenever possible in several APIs
    • Toggle shape mode with shift-space #141 #142
  • Successful stories:
    • chewing-windows-tsf project provides Text Services Framework
      support for Microsoft Windows.

Downloads

What's New in libchewing 0.3.5 (Jul 28, 2013)

@czchen czchen released this Jul 28, 2013 · 689 commits to master since this release

  • Improve CMake rules
    • Visual Studio build included
  • Dictionary improvements
    • Remove duplicated phrases, fix Bopomofo representation
    • tool tweaks
  • travis-ci support (https://travis-ci.org/chewing/libchewing)
  • drone.io support (https://drone.io/github.com/chewing/libchewing)
  • coveralls.io support (https://coveralls.io/r/chewing/libchewing)
  • editorconfig support (http://editorconfig.org/)
  • Add new chewing_set_logger API
  • Prevent unaligned memory access
  • Reduce maxChiSymbolLen to 39 to avoid overflow
  • Do not store user phrase when its length is 1
  • Check chiSymbolBufLen in chewing_handle_Numlock()
  • Set isSymbol to 0 in SetChoiceInfo
  • Fix 'j', 'k' in select mode cannot handle symbol selecting
  • Do not call GetCharNext() when GetCharFirst() fails
  • Successful stories:
    . FreeArray utilizes libchewing for selecting phrases of Array
    input method

Downloads

What's New in libchewing 0.3.4 (Dec 31, 2012)

@czchen czchen released this Dec 31, 2012 · 869 commits to master since this release

  • Improve the description of libchewing API
    • Simplified examples to illustrate the usage are added
  • Revise libchewing API. Check the documentation for details
  • Support THL (Taiwan Huayu Luomapinyin) and MPS2 Pinyin keyboard layout
  • Reimplementation of unit test framework. No external 'check' package
    is required
  • Fix several phrase errors
    • Add exceptional phrase as well
  • Improved developer and user guide
  • Introduce CMake based build system, which is convenient to MS-Windows
    based environments.
  • Add --enable-gcov to enable gcov coverage
  • Fix possible strncat() overflow
  • Consistent checks for bopomofo sequence internally
  • Handle incomplete bopomofo with space key properly
  • Internal structure refactoring
  • Read hash path from CHEWING_PATH environment variable
  • Make libchewing thread-safe
  • Fix IM crash by changing default candidate per page to 10
  • Fix the detection of ncursesw
  • Fix the usage of autotools
  • Update and tune symbols
  • Fix valgrind warning
  • Fix several compilation warnings
  • Fix GCC visibility availability for Darwin specific PIC code
  • Fix hash table initialization and its memory leakage
  • Support building with mingw32 toolchain
  • Fix GNU Hurd build
  • Fix Microsoft VC build
  • Fix Windows 64-bit build
  • Fix mingw32/64 + WINE build
  • Successful stories:
    . GCIN supports experimental Chewing IM since version 1.6.4
    . HIME supports Chewing IM
    . UCIMF supports Chewing IM
    . Fcitx supports Chewing IM
    . mozc (IM framework maintained by Google) provides Chewing support
    . JMCCE (reworked version) supports libchewing

Downloads

What's New in libchewing 0.3.3 (Feb 27, 2011)

@czchen czchen released this Feb 27, 2011 · 1215 commits to master since this release

  • Fix memory access violation.
  • Improved Python binding.
  • Merged with libchewing-data project. (r455)
  • Improved random key stroke tester.
  • Fix the handling of phonetic symbols in Hsu's keyboard.
  • Fix unexpected candidate disorder when doing symbol choice.
  • Revised phrase choice from rearward logic.
  • Fix cross compilation.
  • Improved shell script to merge changes form libchewing-data.
  • Successful stories:
    . Google ChromeOS provides built-in Chewing IM support
    . MeeGo platform provides built-in Chewing IM support

Downloads

What's New in libchewing 0.3.2 (Dec 1, 2008)

@czchen czchen released this Dec 7, 2008 · 1264 commits to master since this release

  • Add gcc visibility support to hide private APIs.
  • APIs and Headers refactoring.
  • Doxygen-friendly API documentation.
  • New binary data manipulation approach to dramatically reduce storage
    usage and loading time via memory mapping. (enabled by default)
  • New word segmentation method based on mmseg.
  • Improved auto-learn new phrases method.
  • Improved test suite and added simple benchmark program.
  • Option to indicate the behavior for phrase choice to be rearward
    or not.
  • New APIs to enumerate supported keyboard types.
  • Repair improper memory access.
  • API united in Win32 and UNIX world.
  • Initial Python binding support.
  • Merged with libchewing-data project. (r342)
  • Canonical debugging messages.
  • Successful stories:
    . OpenBSD porting
    . ibus-chewing : chewing engine for ibus input method framework.
    . UIM-chewing leveraging libchewing 0.3.x development branch.

Downloads

What's New in libchewing 0.3.1 (Oct 1, 2008)

@czchen czchen released this Oct 26, 2008 · 1375 commits to master since this release

  • New keyboard layout DACHEN_CP26.
  • Add key '`' to open symbol table.
  • Erase candidate and reset its length when 'Esc' key is handled.
  • Closes candidate window when user pressed 'Up' key.
  • Doing select at the end of edit buffer works on the
    last phrase (interval).
  • Improved reminding message text.
  • Sync with libchewingdata project.
  • A new HanYu-PinYin mapping table
  • More robust behavior when IM crashes.
  • Allow '#' comment and blank line in tsi.src.
  • Fix chewing switch between Full/Half mode and cursor moves one space in
    gedit.
  • Fix when list available phrases to choice, user's own phrases are
    not included.
  • Release PgUp/PgDn key event to running applications.
  • Fix portability issues on FreeBSD.
  • Fix incorrect initialization.
  • Fix pinyin key order, put "shun" before "shuo".
  • Fix various potenital boffer overflow bugs.
  • Fix various memory leaks.
  • chewing_set_PinYinMethod to support multiple PinYin methods.
  • chewing_handle_CtrlOption was removed.
  • New structure SymbolEntry.
  • Rename selectAreaLen to candPerPage.
  • Added bEasySymbolInput.

Downloads

What's New in libchewing 0.3.0 (May 15, 2006)

@czchen czchen released this May 15, 2006 · 1437 commits to master since this release

  • This is a new development branch differing a lot from
    0.2.x series, and breaks API/ABI for new features.
  • UTF-8 based language engine core for common Unicode
    environment.
  • Porting layer for POSIX/Unix-like and Win32 to reduce the
    redundant porting process.
  • New API design for better consistency.
  • Merge the efforts from libchewing-data subproject, which
    means various phrases have been reviewed and corrected.
  • Zuin fixes and symbol improvements.
  • Support key 'j' / 'k' for paging in selection mode.
  • Fix some internal memory management bugs and leaks.
  • Improved internal test suite.
  • New binary-form of user hash data to speed up loading and
    solve hash data corruption.
  • Better calculating of internal tree and phone constants.
  • Revised tsi.src for richer phrases and avoiding crashes.
  • Merge phone and phrase from CNS11643.
  • Reduce the amount for the expose for internal symbols.
  • Improved Han-Yu PinYin to use table-lookup implementation.
  • Experimental frequency-evaluation. (re-compute chewing
    lifetime)
  • Implement the choice mechanism for pair symbols.
  • Improved Tab handling to allow the switching over different
    frequency orders of candidated phrases.
  • New auxiliary module for simpler API uses.
  • Experimental memory-mapping based binary data handling to
    speed up data loading.
  • Successful stories:
    . Sun Solaris 10 U2 and 11 will provide built-in Chewing
    IM support.
    . OXIM input method suite from OpenDesktop/OSSI provides
    Chewing support as its default input method.
    . New Win32-Chewing subproject to provide efficient input
    method solution on Microsoft Windows platforms.

Downloads

What's New in libchewing 0.2.7 (Aug 8, 2005)

@czchen czchen released this Aug 8, 2005 · 1578 commits to master since this release

  • Fix the keyboard type state changing bug.
  • Add new function to specify the space as the selection
    key.
  • Improved debug messages.
  • Provide cutomized user-defined PinYin table support.
  • Add termination mechanism.
  • Successful stories:
    . Chewing has its Win32 porting (MS-IME) via OVIME (the
    Win32 port of OpenVanilla Input Method Framework).

Downloads