./inputmethod/librime, Rime input method engine

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 1.7.3, Package name: librime-1.7.3, Maintainer: pkgsrc-users

RIME: Rime Input Method Engine

- supporting varieties of input methods, either shape-based or phonetic-based,
including those for Chinese dialects
- a built-in dictionary in traditional Chinese, easily converting to
simplified Chinese via opencc
- a modulized, extensible input method framework to create innovative input
schemata in YAML syntax
- cross-platform core library in C++, built on top of open-source technologies
- OS-specific wrappers working consistently on Windows, Linux and OS X

Required to run:
[devel/boost-libs] [devel/google-glog] [databases/kyotocabinet] [textproc/yaml-cpp] [converters/opencc]

Required to build:
[devel/boost-headers] [pkgtools/cwrappers] [x11/xorgproto]

Master sites:

Filesize: 2792.493 KB

Version history: (Expand)

CVS history: (Expand)

   2022-08-05 15:02:35 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
librime: updated to 1.7.3

librime 1.7.3

Bug Fixes

memory: possibly dereferencing null pointer
plugins: buffer overflow in plugin lotem/librime-octagram
   2022-04-26 00:29:15 by Tobias Nygren | Files touched by this commit (2)
Log message:
librime: install pkg-config file on SunOS too
   2022-01-10 02:46:47 by Ryo ONODERA | Files touched by this commit (273)
Log message:
*: Recursive revbump from boost 1.78.0
   2021-10-26 12:49:47 by Nia Alarie | Files touched by this commit (147)
Log message:
inputmethod: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

The following distfiles could not be fetched (possibly fetched

./inputmethod/anthy/distinfo 2ch.t
./inputmethod/anthy/distinfo okinawa-20090801.t
   2021-10-07 16:19:53 by Nia Alarie | Files touched by this commit (148)
Log message:
inputmethod: Remove SHA1 hashes for distfiles
   2021-09-29 21:01:31 by Adam Ciarcinski | Files touched by this commit (872)
Log message:
revbump for boost-libs
   2021-04-21 15:25:34 by Adam Ciarcinski | Files touched by this commit (864)
Log message:
revbump for boost-libs
   2021-02-20 21:53:01 by Ryo ONODERA | Files touched by this commit (11) | Package updated
Log message:
librime: Update to 1.7.2

## [1.7.2](https://github.com/rime/librime/compare/1.7.1...1.7.2) (2021-02-07)

### Bug Fixes

* **chord_composer:** should clear raw input after committing text \ 

## [1.7.1](https://github.com/rime/librime/compare/1.7.0...1.7.1) (2021-02-06)

### Bug Fixes

* **chord_composer:** press Return key to commit raw key sequence \ 

# [1.7.0](https://github.com/rime/librime/compare/1.6.1...1.7.0) (2021-01-17)

### Bug Fixes

* **chord_composer:** more safely handle the placeholder ZWSP \ 
* **cmake:** use full paths defined by GNUInstallDirs \ 
([bb8c263](https://github.com/rime/librime/commit/bb8c263)), closes \ 
* **opencc:** update submodule to fix \ 
[#425](https://github.com/rime/librime/issues/425) \ 
* **script_translator:** always_show_comments also applies to phrases \ 
([440a97c](https://github.com/rime/librime/commit/440a97c)), closes \ 
[#272](https://github.com/rime/librime/issues/272) \ 
* **table_translator:** index out of bound access in string \ 

### Features

* **chareset_filter:** add CJK Compatibility Ideographs in is_extended_cjk() \ 
([3cb1128](https://github.com/rime/librime/commit/3cb1128)), closes \ 
* **setup:** find and load external RIME plugins as shared libs \ 
[#431](https://github.com/rime/librime/issues/431) \ 

## [1.6.1](https://github.com/rime/librime/compare/1.6.0...1.6.1) (2020-09-21)

### Bug Fixes

* **rime_api.cc:** dangling pointer returned from RimeGetSharedDataDir \ 

# [1.6.0](https://github.com/rime/librime/compare/1.5.3...1.6.0) (2020-09-20)

### Bug Fixes

* **ascii_composer:** do not comsume Shift key release \ 
* **ascii_composer:** first read ascii_composer/good_old_caps_lock from schema \ 
config ([3fc56c4](https://github.com/rime/librime/commit/3fc56c4))
* **chord_composer:** commit raw input with uppercase letters \ 
* **CMakeLists.txt:** ensure paths in pkgconfig file are absolute \ 
* **CMakeLists.txt:** would not use signals v1 due to a typo \ 
([6662a28](https://github.com/rime/librime/commit/6662a28)), closes \ 
* **custom_settings:** accept "*.schema" as config id \ 
* **dict:** issues with user db recovery \ 
* **dict_compiler:** build prism with loaded syllabary when not rebuilding \ 
primary table ([93fe827](https://github.com/rime/librime/commit/93fe827))
* **plugins/CMakeLists.txt:** avoid rime_library linking to itself via \ 
rime_plugins_deps ([fe744db](https://github.com/rime/librime/commit/fe744db))
* **rime_api.cc:** check struct has member of non-pointer type \ 
* **rime_api.cc:** using unchecked fields introduced an ABI breakage \ 
([62bbead](https://github.com/rime/librime/commit/62bbead)), closes \ 
* **rime_test:** set data directories to working directory using \ 
rime::SetupDeployer API \ 
* **simplifier:** opencc::DictEntry::Values() type change in opencc 1.1.0 \ 
([beae5b1](https://github.com/rime/librime/commit/beae5b1)), closes \ 
* **user_db:** pointer cast error caused by multiple inheritance \ 
* use official emoji 12.0 data \ 
([#304](https://github.com/rime/librime/issues/304)) \ 

### Features

* **api:** implement capnproto api \ 
* **api:** include candidate labels in proto message \ 
* **charset_filter:** support charset options with emoji \ 
([#293](https://github.com/rime/librime/issues/293)) \ 
* **charset_filter:** support CJK Unified Ideographs Extension G \ 
([#393](https://github.com/rime/librime/issues/393)) \ 
* **chord_composer:** support chording with Shift keys \ 
* **chord_composer:** use Control, Alt, Shift to input chord \ 
* **dictionary:** packs extends the dictionary with extra binary table files \ 
* **key_binder:** bind key to a key sequence \ 
([3b5dbf6](https://github.com/rime/librime/commit/3b5dbf6)), closes \ 
* **logging:** setup min log level, log dir and set file mode to log files \ 
* **selector:** support 4 combinations of horizontal/vertical text orientation \ 
and stacked/linear candidate list layout \ 
* **selector:** support vertical UI \ 
* **switcher:** enable schema in cases where conditions are met \ 
* **tools/rime_proto_console:** demo for proto api \ 

### Performance Improvements

* **poet:** optimize for performance in making sentences (~40% faster) \ 

## [1.5.3](https://github.com/rime/librime/compare/1.5.2...1.5.3) (2019-06-22)

### Bug Fixes

* **cmake, xcode.mk:** find optional dependency icu, while building \ 
xcode/release-with-icu target  [skip appveyor] \ 
* **single_char_filter:** broken in librime 1.5.2 \ 

### Features

* **appveyor:** build variant "rime-with-plugins" for tagged commits  \ 
[skip travis] ([eef8c30](https://github.com/rime/librime/commit/eef8c30))
* **travis-ci:** build variant "rime-with-plugins" for tagged commits  \ 
[skip appveyor] ([cf11c27](https://github.com/rime/librime/commit/cf11c27))
* **travis-ci:** deploy artifacts for macOS to GitHub releases  [skip appveyor] \ 

## [1.5.2](https://github.com/rime/librime/compare/1.5.1...1.5.2) (2019-06-17)

### Bug Fixes

* **user_dictionary, contextual_translation:** fix user phrase quality; order \ 
contextual suggestions by type \ 

## [1.5.1](https://github.com/rime/librime/compare/1.5.0...1.5.1) (2019-06-16)

### Bug Fixes

* **user_dictionary:** make user phrases comparable in weight to system words \ 

# [1.5.0](https://github.com/rime/librime/compare/1.4.0...1.5.0) (2019-06-06)

### Bug Fixes

* **ci:** update build script \ 
* **ci:** use submodules in AppVeyor CI build script \ 
* **cmake:** libboost Windows XP compatibility fix \ 
([#270](https://github.com/rime/librime/issues/270)) \ 
([fecfe39](https://github.com/rime/librime/commit/fecfe39)), closes \ 
* **CMakeLists.txt:** install header files in all platforms \ 
* **CMakeLists.txt:** set "-std=c++11" in CMAKE_CXX_FLAGS \ 
* **config/plugins.h:** memory leak caused by non-virtual destructor \ 
([316a659](https://github.com/rime/librime/commit/316a659)), closes \ 
* **deploy:** treat schema dependencies as optional; do not report errors if \ 
missing ([ff3d5e9](https://github.com/rime/librime/commit/ff3d5e9))
* **engine:** schema doesn't match the one used by switcher \ 
([e41bb63](https://github.com/rime/librime/commit/e41bb63)), closes \ 
* **rime_levers_api.h:** customize_bool() misused `bool` type \ 
* **syllabifier:** enable_completion not working \ 
([2714131](https://github.com/rime/librime/commit/2714131)), closes \ 
* **table_translator:** null pointer exception when dict entries are filtered \ 
* **test:** compile error in unit test \ 
* **travis-install.sh:** working directory \ 

### Features

* **appveyor:** install RIME_PLUGINS  [skip travis] \ 
* **CMakeList.txt:** add plugin build support \ 
([#257](https://github.com/rime/librime/issues/257)) \ 
* **contextual_translation:** weight and re-order phrases by context \ 
* **dict:** specify vocabulary db name in dict settings \ 
* **grammar:** compare homophones/homographs in sentence \ 
* **install-plugins.sh:** git-clone or update plugins \ 
* **poet:** find best sentence candidates \ 
* **rime_api:** get candidate list from index \ 
* **translator:** contextual suggestions in partially selected sentence \ 
* **translator:** look at preceding text when making sentence \ 
* **travis-ci:** install plugins specified in envvar RIME_PLUGINS \ 

### Performance Improvements

* **dictionary:** refactor DictEntryIterator and do partial sort \ 


* **rime_levers_api.h:** in signature of C API function `customize_bool()`,
change type `bool` to `Bool` (alias of `int`).

Impact: the changed function is not in use by any first party code,
known to be in use by osfans/trime.

# [1.4.0](https://github.com/rime/librime/compare/1.3.2...1.4.0) (2019-01-16)

### Bug Fixes

* **config:** user_config should not fall back to shared data \ 
([68c8a34](https://github.com/rime/librime/commit/68c8a34)), closes \ 
* **SymlinkingPrebuiltDictionaries:** remove dangling symlinks \ 
([5ad333d](https://github.com/rime/librime/commit/5ad333d)), closes \ 
* **SymlinkingPrebuiltDictionaries:** remove dangling symlinks \ 
([f8e4ebf](https://github.com/rime/librime/commit/f8e4ebf)), closes \ 

### Features

* spelling correction ([#228](https://github.com/rime/librime/issues/228)) \ 
* **Dockerfile:** for build ([#246](https://github.com/rime/librime/issues/246)) \ 

## [1.3.2](https://github.com/rime/librime/compare/1.3.1...1.3.2) (2018-11-12)

### Bug Fixes

* **CMakeLists.txt:** do not link binaries when building static library \ 
* **CMakeLists.txt:** do not require boost::signals, which will be deprecated in \ 
Boost 1.69 ([8a9ef3b](https://github.com/rime/librime/commit/8a9ef3b)), closes \ 
* **config_compiler:** ambiguous operator overload with cmake option \ 
ENABLE_LOGGING=OFF ([b86b647](https://github.com/rime/librime/commit/b86b647)), \ 
closes [#211](https://github.com/rime/librime/issues/211)
* **config_compiler:** support creating list in-place by __patch and __merge \ 
* **table_translator:** enable encoding uniquified commit history \ 

### Features

* **language:** shared user dictionary per language (Closes \ 
[#184](https://github.com/rime/librime/issues/184)) \ 
([#214](https://github.com/rime/librime/issues/214)) \ 
* always_show_comments option \ 
([#220](https://github.com/rime/librime/issues/220)) \ 

## [1.3.1](https://github.com/rime/librime/compare/1.3.0...1.3.1) (2018-04-01)

### Bug Fixes

* **config_file_update:** clean up deprecated user copy \ 
([#193](https://github.com/rime/librime/issues/193)) \ 
* **thirdparty/src/leveldb:** do not link to snappy library \ 

# 1.3.0 (2018-03-09)

### Bug Fixes

* **CMakeLists.txt, build.bat:** install header files (public API) \ 
* **config_compiler:** "/" mistaken as path separator in merged map \ 
key ([#192](https://github.com/rime/librime/issues/192)) \ 
([831ffba](https://github.com/rime/librime/commit/831ffba)), closes \ 
* **ConfigFileUpdate:** no need to create user build if shared build is \ 
up-to-date ([cafd5c4](https://github.com/rime/librime/commit/cafd5c4))
* **SchemaUpdate:** read compiled schema from shared build if there is no user \ 
build ([45a04dd](https://github.com/rime/librime/commit/45a04dd))
* **simplifier:** fix typo \ 
([9e1114e](https://github.com/rime/librime/commit/9e1114e)), closes \ 
* **user_db:** unwanted implicit instantiation of UserDbFormat template \ 
([3cbc9cb](https://github.com/rime/librime/commit/3cbc9cb)), closes \ 

### Chores

* **release tag:** deprecating tag name prefix 'rime-' in favor of semver 'X.Y.Z'


* **release tag:** After 1.3.0 release, we'll no longer be creating tags in the \ 
format 'rime-X.Y.Z'. Downstream packagers please change automated scripts \ 

## 1.2.10 (2018-02-21)

### Bug Fixes

* **config_compiler:** linking failure on blocking root node of a dependency \ 
resource ([ecf3397](https://github.com/rime/librime/commit/ecf3397))
* table_translator not making sentence if table entry is hidden by charset \ 
filter. ([77eb12e](https://github.com/rime/librime/commit/77eb12e))
* **appveyor.install.bat:** switch to a more stable download server for libboost \ 
* **appveyor.yml:** archive header files \ 
* **ascii_composer:** support key binding Shift+space in ascii mode \ 
* **build.bat:** fix build errors with VS2015 build tools \ 
* **calculus, recognizer:** memory leak due to unchecked regex error \ 
([19ddc1e](https://github.com/rime/librime/commit/19ddc1e)), closes \ 
* **chord_composer:** allow editor to define BackSpace key behavior \ 
* **chord_composer:** letters with modifier keys should not be committed by a \ 
following enter key ([aab5eb8](https://github.com/rime/librime/commit/aab5eb8))
* **ci:** call cmake under /usr/local with sudo by passing $PATH environment \ 
variable ([a0e6d2f](https://github.com/rime/librime/commit/a0e6d2f))
* **cmake:** fix build break for mingw \ 
* **config:** auto save modified config data; fixes \ 
[#144](https://github.com/rime/librime/issues/144) \ 
* **config:** treat "@" as map key rather than list index \ 
* **config_compiler:** duplicate PendingChild dependencies happen from multiple \ 
commands on the same node \ 
* **config_compiler:** enforce dependency priorities \ 
* **config_compiler:** null value should not overwrite a normal key in a merged \ 
tree ([4ecae44](https://github.com/rime/librime/commit/4ecae44))
* **config_compiler:** template operator overload had compile error with NDK \ 
* **config/build_info_plugin:** referenced but unavailable resources should also \ 
be recorded ([cd46f7a](https://github.com/rime/librime/commit/cd46f7a))
* **ConfigFileUpdate:** should succeed if shared copy does not exist \ 
* **custom_settings:** fall back to $shared_data_dir/build when loading config \ 
* **custom_settings:** load built settings from $user_data_dir/build directory \ 
* **deployment_tasks:** symbols.yaml is no longer a build target \ 
* **dict_compiler:** prism should load compiled schema \ 
([c2fd0cf](https://github.com/rime/librime/commit/c2fd0cf)), closes \ 
* **key_event:** KeySequence::repr() prefer unescaped punctuation characters \ 
* **levers:** update deployment tasks for copy-free resource resolution \ 
* **Makefile:** make install-debug; do return error code on mac \ 
* **rime_api:** use user_config_open() to access user.yaml \ 
* **rime_console:** not showing switcher's context \ 
* **schema:** create a "schema" component that opens Config by \ 
schema_id ([555f990](https://github.com/rime/librime/commit/555f990))
* **simplifier:** fix crash if no opencc file \ 
* **simplifier:** tips option for show_in_comment simplifier \ 
* **uniquifier:** half of the duplicate candidates remain after dedup [Closes \ 
[#114](https://github.com/rime/librime/issues/114)] \ 

### Features

* **build.bat:** customize build settings via environment variables \ 
([#178](https://github.com/rime/librime/issues/178)) \ 
* **chord_composer:** accept escaped chording keys \ 
* **chord_composer:** support chording with function keys \ 
* **config:** add config compiler plugin that includes default:/menu into schema \ 
* **config:** best effort resolution for circurlar dependencies \ 
* **config:** build config files if source files changed \ 
* **config:** config compiler plugins that port legacy features to the new YAML \ 
syntax ([a7d253e](https://github.com/rime/librime/commit/a7d253e))
* **config:** config_builder saves output to $rime_user_dir/build/ \ 
* **config:** references to optional config resources, ending with "?" \ 
* **config:** save __build_info in compiled config \ 
* **config:** separate out config_builder and user_config components \ 
* **config:** support append and merge syntax \ 
* **customizer:** disable saving patched config files \ 
* **detect_modifications:** quick test based on last write time of files \ 
* **dict:** no conditional compilation on arm \ 
* **dict:** relocate binary files to $user_data_dir/build \ 
* **dict:** use resource resolver to find dictionary files \ 
* add property notifier ([fa7b5a5](https://github.com/rime/librime/commit/fa7b5a5))
* **resource_resolver:** add class and unit test \ 
* **resource_resolver:** fallback root path \ 
* **translator:** add history_translator \ 
([#115](https://github.com/rime/librime/issues/115)) \ 

## 1.2.9 (2014-12-14)

* **Makefile:** add make targets `thirdparty/*` to build individual libraries.
* **legacy/src/legacy_module.cc:** plugin module `rime-legacy` for GPL code,
  providing component `legacy_userdb` for user dictionary upgrade.
* **src/setup.cc:** define module groups `"default"` and \ 
`"deployer"`, to avoid
	naming a list of built-bin modules in `RimeTraits::modules`.
* **test/table_test.cc:** fix random segment faults when run shuffled.
* **thirdparty/src/leveldb:** new dependency LevelDB, replacing Kyoto Cabinet.
* **dict/level_db:** userdb implementation based on LevelDB, replacing treeDb.
* **dict/tree_db:** moved to `legacy/src/`.
* **dict/user_db:** refactored and modularized to ease adding implementations.
* **gear/cjk_minifier:** support CJK Extension E.
* **gear/memory:** save cached phrases as soon as the next composition begins.
* **gear/recognizer:** match space iff set `recognizer/use_space: true`.
* **gear/simplifier:** catch and log OpenCC exceptions when loading.
* **gear/single_char_filter:** bring single character candidates to the front.
* **gear/simplifier:** adapt to OpenCC 1.0 API.
* **thirdparty/src/opencc:** update OpenCC to v1.0.2 (incompatible with v0.4).
* **lever/deployment_tasks:** update and rename task `user_dict_upgrade`.

## 1.2 (2014-07-15)

* **rime_api:** add API functions to access complex structures in config;
  add API to get the raw input and cursor position, or to select a candidate.
* **config:** support references to list elements in key paths.
  eg. `schema_list/@0/schema` is the id of the first schema in schema list.
* **switcher:** enable folding IME options in the switcher menu.
* **dict_compiler:** also detect changes in essay when updating a dictionary;
  support updating prism without the source file of the dictionary.
* **preset_vocabulary:** load `essay.txt` instead of `essay.kct`.
* **reverse_lookup_dictionary:** adopt a new file format with 50% space saving.
* **table:** add support for a new binary format with 20% space saving;
  fix alignment on ARM.
* **ascii_composer:** do not toggle IME states when long pressing `Shift` key;
  support discarding unfinished input when switching to ASCII mode.
* **affix_segmentor:** fix issues with selecting a partial-match candidate.
* **chord_composer:** commit raw input composed with original key strokes.
* **cjk_minifier:** a filter to hide characters in CJK extension set, works
  with `script_translator`.
* **navigator:** do not use `BackSpace` to revert selecting a candidate but to
  edit the input after moving the cursor left or right.
* **punctuator:** support `ascii_punct` option for switching between Chinese and
  Western (ASCII) punctuations.
* **speller:** auto-select candidates by pattern matching against the code;
  fix issues to cooperate with punctuator.
* **CMakeLists.txt:** add options `ENABLE_LOGGING` and `BOOST_USE_CXX11`;
  introduce a new dependency: `libmarisa`.
* **cmake/FindYamlCpp.cmake:** check the availability of the new (v0.5) API.
* **sample:** the directory containing a sample plug-in module.
* **tools/rime_patch.cc:** a command line tool to create patches.
* **thirdparty:** include source code of third-party libraries to ease
  building librime on Windows and Mac.

## 1.1 (2013-12-26)

* **new build dependency:** compiler with C++11 support.
  tested with GCC 4.8.2, Apple LLVM version 5.0, MSVC 12 (2013).
* **encoder:** disable warnings for phrase encode failures in log output;
  limit the number of results in encoding a phrase with multiple solutions.
* **punctuator:** fixed a bug in matching nested "pairs of 'symbols'".
* **speller:** better support for auto-committing, allowing users of table
  based input schema to omit explicitly selecting candidates in many cases.
* **schema_list_translator:** option for static schema list order.
* **table_translator:** fixed the range of CJK-D in charset filter.