├── artworks ├── combo-pinyin-wallpaper.png ├── draft │ ├── Rime-0.jpg │ ├── Rime-1.jpg │ ├── Rime-2.jpg │ ├── Rime-3.jpg │ ├── Rime-4.jpg │ ├── author-2011.png │ ├── mingyue-pinyin.jpg │ ├── rime-user-icon-bold.icns │ ├── rime-user-icon-pencil.icns │ ├── rime-user-icon.icns │ ├── rime_superoutman_1.icns │ ├── rime_superoutman_2.icns │ ├── squirrel-icon-v2-retina.icns │ ├── squirrel-icon-v3.icns │ ├── zhung-bold.png │ ├── zhung-bold.svg │ ├── zhung-handwriting.icns │ ├── zhung-original-16x16.tiff │ ├── zhung-original-48x48.png │ ├── zhung.png │ └── zhung.svg ├── la-rime.odg ├── la-rime.pdf ├── schema │ └── emoji-chart.png ├── squirrel-color-schemes │ ├── aqua.png │ ├── azure.png │ ├── dark-temple.png │ ├── ink.png │ ├── lost-temple.png │ ├── luna.png │ ├── mac-native.png │ ├── round-corner.png │ ├── square-corner.png │ └── starcraft.png ├── zhung.icns ├── zhung.ico ├── zhung.png ├── zhung.svg ├── zhung.xcf ├── zhung_128x128.png ├── zhung_24x24.png ├── zhung_256x256.png ├── zhung_32x32.png ├── zhung_512x512.png └── zhung_64x64.png ├── brise ├── default.yaml ├── essay.kct ├── extra │ ├── scj6.dict.yaml │ ├── scj6.schema.yaml │ ├── stenotype.schema.yaml │ ├── stroke5.dict.yaml │ └── stroke5.schema.yaml ├── preset │ ├── bopomofo.schema.yaml │ ├── cangjie5.dict.yaml │ ├── cangjie5.schema.yaml │ ├── luna_pinyin.dict.yaml │ ├── luna_pinyin.schema.yaml │ ├── luna_pinyin_fluency.schema.yaml │ ├── luna_pinyin_simp.schema.yaml │ ├── luna_pinyin_tw.schema.yaml │ ├── terra_pinyin.dict.yaml │ └── terra_pinyin.schema.yaml └── supplement │ ├── combo_pinyin.schema.yaml │ ├── double_pinyin.schema.yaml │ ├── double_pinyin_abc.schema.yaml │ ├── double_pinyin_flypy.schema.yaml │ ├── double_pinyin_mspy.schema.yaml │ ├── ipa_xsampa.dict.yaml │ ├── ipa_xsampa.schema.yaml │ ├── jyutping.dict.yaml │ ├── jyutping.schema.yaml │ ├── pinyin_simp.dict.yaml │ ├── pinyin_simp.schema.yaml │ ├── quick5.dict.yaml │ ├── quick5.schema.yaml │ ├── stroke_simp.dict.yaml │ ├── stroke_simp.schema.yaml │ ├── triungkox3p.dict.yaml │ ├── triungkox3p.schema.yaml │ ├── wubi86.dict.yaml │ ├── wubi86.schema.yaml │ ├── wubi_pinyin.schema.yaml │ ├── wugniu.schema.yaml │ ├── wugniu_lopha.dict.yaml │ ├── wugniu_lopha.schema.yaml │ ├── zyenpheng.dict.yaml │ └── zyenpheng.schema.yaml ├── doc ├── design │ ├── rime-architecture-0.docx │ ├── rime-architecture-0.pdf │ ├── rime-architecture.odg │ ├── rime-architecture.pdf │ ├── rime-data-structure.odg │ ├── rime-data-structure.pdf │ ├── rime-interaction-design.odg │ └── rime-interaction-design.pdf ├── manual │ ├── combo-pinyin │ │ ├── combo-pinyin-layout-0-basic.odg │ │ ├── combo-pinyin-layout-0-basic.pdf │ │ ├── combo-pinyin-layout-0-basic.png │ │ ├── combo-pinyin-layout-0.odg │ │ ├── combo-pinyin-layout-0.pdf │ │ ├── combo-pinyin-layout-0.png │ │ ├── combopy-lookup.png │ │ ├── combopy-practice.png │ │ └── combopy-wozuishuai.png │ ├── spelling-algebra.html │ └── spelling-algebra.org └── tutorial │ ├── hello_1 │ └── hello.schema.yaml │ ├── hello_2 │ └── hello.schema.yaml │ ├── hello_3 │ └── hello.schema.yaml │ ├── hello_4 │ ├── hello.dict.yaml │ └── hello.schema.yaml │ ├── hello_5 │ ├── hello.dict.yaml │ └── hello.schema.yaml │ ├── hello_6 │ ├── hello.dict.yaml │ └── hello.schema.yaml │ ├── hello_7 │ ├── hello.dict.yaml │ └── hello.schema.yaml │ ├── numbers_1 │ └── numbers.schema.yaml │ ├── numbers_2 │ └── numbers.schema.yaml │ ├── numbers_3 │ ├── numbers.dict.yaml │ └── numbers.schema.yaml │ └── numbers_4 │ ├── numbers.dict.yaml │ └── numbers.schema.yaml ├── ibus-rime ├── .gitignore ├── CMakeLists.txt ├── Makefile ├── README ├── install.sh ├── package │ ├── archlinux │ │ ├── ibus-rime │ │ │ ├── ChangeLog │ │ │ ├── PKGBUILD │ │ │ └── ibus-rime.install │ │ └── librime │ │ │ ├── ChangeLog │ │ │ └── PKGBUILD │ └── package.sh ├── rime.xml ├── rime_engine.c ├── rime_engine.h ├── rime_main.c └── zhung.png ├── librime ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── Makefile ├── README ├── RELEASE_NOTES ├── build.bat ├── cmake │ ├── FindKyotoCabinet.cmake │ ├── FindOpencc.cmake │ ├── FindYamlCpp.cmake │ ├── RimeConfig.cmake │ ├── c_flag_overrides.cmake │ ├── cmake_uninstall.cmake.in │ └── cxx_flag_overrides.cmake ├── data │ ├── config_test.yaml │ ├── default.yaml │ ├── dictionary_test.yaml │ ├── essay.kct │ └── schema │ │ ├── cangjie5.dict.yaml │ │ ├── cangjie5.schema.yaml │ │ ├── luna_pinyin.dict.yaml │ │ └── luna_pinyin.schema.yaml ├── env.bat.template ├── include │ ├── rime │ │ ├── algo │ │ │ ├── algebra.h │ │ │ ├── calculus.h │ │ │ ├── dynamics.h │ │ │ ├── poet.h │ │ │ ├── spelling.h │ │ │ └── syllabifier.h │ │ ├── candidate.h │ │ ├── commit_history.h │ │ ├── common.h │ │ ├── component.h │ │ ├── composition.h │ │ ├── config.h │ │ ├── context.h │ │ ├── deployer.h │ │ ├── dict │ │ │ ├── dict_compiler.h │ │ │ ├── dictionary.h │ │ │ ├── mapped_file.h │ │ │ ├── prism.h │ │ │ ├── reverse_lookup_dictionary.h │ │ │ ├── table.h │ │ │ ├── user_db.h │ │ │ ├── user_dictionary.h │ │ │ └── vocabulary.h │ │ ├── engine.h │ │ ├── expl │ │ │ ├── custom_settings.h │ │ │ ├── customizer.h │ │ │ ├── deployment_tasks.h │ │ │ ├── signature.h │ │ │ ├── switcher_settings.h │ │ │ └── user_dict_manager.h │ │ ├── filter.h │ │ ├── impl │ │ │ ├── abc_segmentor.h │ │ │ ├── ascii_composer.h │ │ │ ├── ascii_segmentor.h │ │ │ ├── chord_composer.h │ │ │ ├── echo_translator.h │ │ │ ├── editor.h │ │ │ ├── fallback_segmentor.h │ │ │ ├── key_binder.h │ │ │ ├── matcher.h │ │ │ ├── navigator.h │ │ │ ├── punctuator.h │ │ │ ├── r10n_translator.h │ │ │ ├── recognizer.h │ │ │ ├── reverse_lookup_translator.h │ │ │ ├── selector.h │ │ │ ├── simplifier.h │ │ │ ├── speller.h │ │ │ ├── table_translator.h │ │ │ ├── translator_commons.h │ │ │ ├── trivial_translator.h │ │ │ └── uniquifier.h │ │ ├── key_event.h │ │ ├── key_table.h │ │ ├── menu.h │ │ ├── processor.h │ │ ├── registry.h │ │ ├── schema.h │ │ ├── segmentation.h │ │ ├── segmentor.h │ │ ├── service.h │ │ ├── switcher.h │ │ ├── translation.h │ │ └── translator.h │ ├── rime_api.h │ └── rime_version.h ├── rime.pc.in ├── shell.bat ├── src │ ├── CMakeLists.txt │ ├── algo │ │ ├── algebra.cc │ │ ├── calculus.cc │ │ └── syllabifier.cc │ ├── commit_history.cc │ ├── common.cc │ ├── composition.cc │ ├── config.cc │ ├── context.cc │ ├── deployer.cc │ ├── dict │ │ ├── dict_compiler.cc │ │ ├── dictionary.cc │ │ ├── mapped_file.cc │ │ ├── prism.cc │ │ ├── reverse_lookup_dictionary.cc │ │ ├── table.cc │ │ ├── user_db.cc │ │ ├── user_dictionary.cc │ │ └── vocabulary.cc │ ├── engine.cc │ ├── expl │ │ ├── custom_settings.cc │ │ ├── customizer.cc │ │ ├── deployment_tasks.cc │ │ ├── signature.cc │ │ ├── switcher_settings.cc │ │ └── user_dict_manager.cc │ ├── impl │ │ ├── abc_segmentor.cc │ │ ├── ascii_composer.cc │ │ ├── ascii_segmentor.cc │ │ ├── chord_composer.cc │ │ ├── echo_translator.cc │ │ ├── editor.cc │ │ ├── fallback_segmentor.cc │ │ ├── key_binder.cc │ │ ├── matcher.cc │ │ ├── navigator.cc │ │ ├── punctuator.cc │ │ ├── r10n_translator.cc │ │ ├── recognizer.cc │ │ ├── reverse_lookup_translator.cc │ │ ├── selector.cc │ │ ├── simplifier.cc │ │ ├── speller.cc │ │ ├── table_translator.cc │ │ ├── translator_commons.cc │ │ ├── trivial_translator.cc │ │ └── uniquifier.cc │ ├── key_event.cc │ ├── key_table.cc │ ├── menu.cc │ ├── registry.cc │ ├── rime_api.cc │ ├── schema.cc │ ├── segmentation.cc │ ├── service.cc │ ├── switcher.cc │ └── translation.cc ├── test │ ├── CMakeLists.txt │ ├── algebra_test.cc │ ├── calculus_test.cc │ ├── component_test.cc │ ├── config_test.cc │ ├── dictionary_test.cc │ ├── key_event_test.cc │ ├── key_table_test.cc │ ├── menu_test.cc │ ├── prism_test.cc │ ├── rime_test_main.cc │ ├── segmentor_test.cc │ ├── syllabifier_test.cc │ ├── table_test.cc │ ├── trivial_translator_test.cc │ └── user_db_test.cc ├── thirdparty │ └── include │ │ ├── X11 │ │ ├── keysym.h │ │ └── keysymdef.h │ │ ├── darts.h │ │ ├── ezlogger │ │ ├── ezlogger.hpp │ │ ├── ezlogger_format_policy.hpp │ │ ├── ezlogger_headers.hpp │ │ ├── ezlogger_macros.hpp │ │ ├── ezlogger_misc.hpp │ │ ├── ezlogger_output_policy.hpp │ │ └── ezlogger_verbosity_level_policy.hpp │ │ ├── msvc │ │ └── stdint.h │ │ ├── utf8.h │ │ └── utf8 │ │ ├── checked.h │ │ ├── core.h │ │ └── unchecked.h ├── tools │ ├── CMakeLists.txt │ ├── rime_api_console.cc │ ├── rime_console.cc │ └── rime_dict_manager.cc └── vcbuild.bat ├── misc ├── boost_minimal_build_for_weasel.bat ├── gtest_1.5_mingw_hack.patch ├── kyotocabinet-1.2.70-vs2008-patch │ ├── VCmakefile │ ├── kccommon.h │ ├── kcregex.cc │ ├── stdint.h │ ├── zconf.h │ ├── zlib.h │ ├── zlib.lib │ └── zlib1.dll ├── kyotocabinet-1.2.70-vs2010-patch │ ├── VCmakefile │ ├── stdint.h │ ├── zconf.h │ ├── zlib.h │ ├── zlib.lib │ └── zlib1.dll ├── mingw_workspace_setup │ ├── 7za.exe │ ├── curl.exe │ ├── mingw-get-inst-20110316.exe │ └── setup.bat ├── opencc │ ├── COPYING.txt │ ├── README.txt │ ├── data │ │ ├── mix2zhs.ini │ │ ├── mix2zht.ini │ │ ├── simp_to_trad_characters.ocd │ │ ├── simp_to_trad_phrases.ocd │ │ ├── trad_to_simp_characters.ocd │ │ ├── trad_to_simp_phrases.ocd │ │ ├── zhs2zht.ini │ │ └── zht2zhs.ini │ ├── generate_vc_lib_file.bat │ ├── opencc.dll │ ├── opencc.exe │ ├── opencc.h │ ├── opencc_dict.exe │ ├── opencc_types.h │ ├── test │ │ ├── test.bat │ │ ├── test_input.hant │ │ ├── test_opencc.cc │ │ └── zht2zhs.ini │ └── vc10 │ │ ├── opencc.def │ │ ├── opencc.exp │ │ └── opencc.lib └── schema-package-sample │ ├── README.txt │ ├── data │ ├── sample.dict.yaml │ └── sample.schema.yaml │ ├── product.ico │ └── product.nsi ├── partners └── aoyu │ ├── appcast.xml │ └── release-notes.html ├── squirrel ├── .gitignore ├── English.lproj │ ├── InfoPlist.strings │ ├── Localizable.strings │ └── MainMenu.xib ├── Info.plist ├── LICENSE.txt ├── Makefile ├── README.txt ├── Sparkle.framework │ ├── Headers │ ├── Resources │ ├── Sparkle │ └── Versions │ │ ├── A │ │ ├── Headers │ │ │ ├── SUAppcast.h │ │ │ ├── SUAppcastItem.h │ │ │ ├── SUUpdater.h │ │ │ ├── SUVersionComparisonProtocol.h │ │ │ └── Sparkle.h │ │ ├── Resources │ │ │ ├── Info.plist │ │ │ ├── License.txt │ │ │ ├── SUModelTranslation.plist │ │ │ ├── SUStatus.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── de.lproj │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ └── Sparkle.strings │ │ │ ├── en.lproj │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ └── Sparkle.strings │ │ │ ├── es.lproj │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ └── Sparkle.strings │ │ │ ├── fr.lproj │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── Sparkle.strings │ │ │ │ └── fr.lproj │ │ │ ├── fr_CA.lproj │ │ │ ├── it.lproj │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ └── Sparkle.strings │ │ │ ├── nl.lproj │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ └── Sparkle.strings │ │ │ ├── relaunch │ │ │ ├── ru.lproj │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ │ ├── classes.nib │ │ │ │ │ ├── info.nib │ │ │ │ │ └── keyedobjects.nib │ │ │ │ └── Sparkle.strings │ │ │ └── sv.lproj │ │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ │ └── Sparkle.strings │ │ └── Sparkle │ │ └── Current ├── Squirrel.xcodeproj │ └── project.pbxproj ├── SquirrelApplicationDelegate.h ├── SquirrelApplicationDelegate.m ├── SquirrelInputController.h ├── SquirrelInputController.m ├── SquirrelPanel.h ├── SquirrelPanel.m ├── Squirrel_Prefix.pch ├── data │ ├── opencc │ │ ├── to_tw_variants.txt │ │ ├── trad_to_simp_characters.ocd │ │ ├── trad_to_simp_phrases.ocd │ │ ├── zht2zhs.ini │ │ └── zht2zhtw_v.ini │ └── squirrel.yaml ├── dsa_pub.pem ├── macos_keycode.h ├── macos_keycode.m ├── main.m ├── postflight ├── rime.icns ├── update │ ├── appcast.xml │ └── release-notes.html ├── utf8.cpp ├── utf8.h ├── utf8 │ ├── checked.h │ ├── core.h │ └── unchecked.h ├── zh_CN.lproj │ ├── InfoPlist.strings │ └── MainMenu.xib ├── zh_TW.lproj │ ├── InfoPlist.strings │ └── MainMenu.xib └── zhung.icns ├── typewriter ├── LICENSE.txt ├── css │ └── model.css ├── help.html ├── main.html ├── model.html ├── release │ └── package.sh └── script │ ├── cangjie.js │ ├── canton.js │ ├── combo.js │ ├── combopy.js │ ├── english.js │ ├── foochow.js │ ├── jquery.js │ ├── main.js │ ├── model.js │ ├── quick.js │ ├── v5.js │ ├── v6.js │ ├── zhung.js │ └── zhuyin.js └── weasel ├── .gitignore ├── BuildInstructions.txt ├── LICENSE ├── PyWeasel ├── PyWeasel.cpp ├── PyWeasel.vcproj ├── PyWeasel.vcxproj ├── PyWeasel.vcxproj.filters ├── ReadMe.txt ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── RimeWithWeasel ├── ReadMe.txt ├── RimeWithWeasel.cpp ├── RimeWithWeasel.vcproj ├── RimeWithWeasel.vcxproj ├── RimeWithWeasel.vcxproj.filters ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── WeaselDeployer ├── Configurator.cpp ├── Configurator.h ├── DictManagementDialog.cpp ├── DictManagementDialog.h ├── SwitcherSettingsDialog.cpp ├── SwitcherSettingsDialog.h ├── UIStyleSettings.cpp ├── UIStyleSettings.h ├── UIStyleSettingsDialog.cpp ├── UIStyleSettingsDialog.h ├── WeaselDeployer.cpp ├── WeaselDeployer.h ├── WeaselDeployer.rc ├── WeaselDeployer.vcxproj ├── WeaselDeployer.vcxproj.filters ├── resource.h ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── WeaselIME ├── Imm.h ├── KeyEvent.cpp ├── KeyEvent.h ├── ReadMe.txt ├── WeaselIME.cpp ├── WeaselIME.h ├── WeaselIME.rc ├── WeaselIME.vcproj ├── WeaselIME.vcxproj ├── WeaselIME.vcxproj.filters ├── dllmain.cpp ├── ime.cpp ├── resource.h ├── stdafx.cpp ├── stdafx.h ├── targetver.h └── weasel.def ├── WeaselIPC ├── ActionLoader.cpp ├── ActionLoader.h ├── Committer.cpp ├── Committer.h ├── ContextUpdater.cpp ├── ContextUpdater.h ├── Deserializer.cpp ├── Deserializer.h ├── ReadMe.txt ├── ResponseParser.cpp ├── WeaselClientImpl.cpp ├── WeaselClientImpl.h ├── WeaselIPC.vcproj ├── WeaselIPC.vcxproj ├── WeaselIPC.vcxproj.filters ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── WeaselIPCServer ├── ReadMe.txt ├── WeaselIPCServer.vcproj ├── WeaselIPCServer.vcxproj ├── WeaselIPCServer.vcxproj.filters ├── WeaselServerImpl.cpp ├── WeaselServerImpl.h ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── WeaselServer ├── WeaselServer.cpp ├── WeaselServer.h ├── WeaselServer.rc ├── WeaselServer.vcproj ├── WeaselServer.vcxproj ├── WeaselServer.vcxproj.filters ├── resource.h ├── stdafx.cpp └── stdafx.h ├── WeaselTSF ├── ReadMe.txt ├── WeaselTSF.cpp ├── WeaselTSF.h ├── WeaselTSF.vcproj ├── WeaselTSF.vcxproj ├── WeaselTSF.vcxproj.filters ├── dllmain.cpp ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── WeaselUI ├── ReadMe.txt ├── SystemTraySDK.cpp ├── SystemTraySDK.h ├── WeaselPanel.cpp ├── WeaselPanel.h ├── WeaselTrayIcon.cpp ├── WeaselTrayIcon.h ├── WeaselUI.cpp ├── WeaselUI.vcproj ├── WeaselUI.vcxproj ├── WeaselUI.vcxproj.filters ├── stdafx.cpp ├── stdafx.h └── targetver.h ├── env.bat ├── include ├── PyWeasel.h ├── ResponseParser.h ├── RimeWithWeasel.h ├── WeaselCommon.h ├── WeaselIPC.h ├── WeaselUI.h ├── WeaselVersion.h ├── ezlogger │ ├── ezlogger.hpp │ ├── ezlogger_format_policy.hpp │ ├── ezlogger_headers.hpp │ ├── ezlogger_macros.hpp │ ├── ezlogger_misc.hpp │ ├── ezlogger_output_policy.hpp │ └── ezlogger_verbosity_level_policy.hpp ├── stdint.h ├── winsparkle-version.h ├── winsparkle.h └── wtl │ ├── atlapp.h │ ├── atlcrack.h │ ├── atlctrls.h │ ├── atlctrlw.h │ ├── atlctrlx.h │ ├── atlddx.h │ ├── atldlgs.h │ ├── atlfind.h │ ├── atlframe.h │ ├── atlgdi.h │ ├── atlmisc.h │ ├── atlprint.h │ ├── atlres.h │ ├── atlresce.h │ ├── atlscrl.h │ ├── atlsplit.h │ ├── atltheme.h │ ├── atluser.h │ ├── atlwince.h │ └── atlwinx.h ├── lib └── WinSparkle.lib ├── output ├── LICENSE.txt ├── README.txt ├── WinSparkle.dll ├── check_windows_version.js ├── data │ ├── opencc │ │ ├── to_tw_variants.txt │ │ ├── trad_to_simp_characters.ocd │ │ ├── trad_to_simp_phrases.ocd │ │ ├── zht2zhs.ini │ │ └── zht2zhtw_v.ini │ ├── preview │ │ ├── color_scheme_aqua.png │ │ ├── color_scheme_azure.png │ │ ├── color_scheme_dark_temple.png │ │ ├── color_scheme_ink.png │ │ ├── color_scheme_lost_temple.png │ │ ├── color_scheme_luna.png │ │ └── color_scheme_starcraft.png │ └── weasel.yaml ├── elevate.js ├── install.bat ├── install.nsi ├── opencc.dll ├── shell.bat ├── stop_service.bat ├── uninstall.bat ├── zhung.bmp ├── zhung.ico └── zlib1.dll ├── quick_build.bat ├── rebuild.bat ├── resource ├── alpha.ico ├── disabled.ico ├── enabled.ico ├── zhung.bmp ├── zhung.ico └── zhung.png ├── shell.bat ├── test ├── TestPyWeasel │ ├── ReadMe.txt │ ├── TestPyWeasel.cpp │ ├── TestPyWeasel.vcproj │ ├── TestPyWeasel.vcxproj │ ├── TestPyWeasel.vcxproj.filters │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h ├── TestResponseParser │ ├── ReadMe.txt │ ├── TestResponseParser.cpp │ ├── TestResponseParser.vcproj │ ├── TestResponseParser.vcxproj │ ├── TestResponseParser.vcxproj.filters │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h └── TestWeaselIPC │ ├── ReadMe.txt │ ├── TestWeaselIPC.cpp │ ├── TestWeaselIPC.vcproj │ ├── TestWeaselIPC.vcxproj │ ├── TestWeaselIPC.vcxproj.filters │ ├── stdafx.cpp │ ├── stdafx.h │ └── targetver.h ├── update ├── appcast.xml └── release-notes.html ├── weasel.props.template ├── weasel.sln ├── weasel.vsprops.template └── weasel_vc9.sln /artworks/combo-pinyin-wallpaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/combo-pinyin-wallpaper.png -------------------------------------------------------------------------------- /artworks/draft/Rime-0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/Rime-0.jpg -------------------------------------------------------------------------------- /artworks/draft/Rime-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/Rime-1.jpg -------------------------------------------------------------------------------- /artworks/draft/Rime-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/Rime-2.jpg -------------------------------------------------------------------------------- /artworks/draft/Rime-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/Rime-3.jpg -------------------------------------------------------------------------------- /artworks/draft/Rime-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/Rime-4.jpg -------------------------------------------------------------------------------- /artworks/draft/author-2011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/author-2011.png -------------------------------------------------------------------------------- /artworks/draft/mingyue-pinyin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/mingyue-pinyin.jpg -------------------------------------------------------------------------------- /artworks/draft/rime-user-icon-bold.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/rime-user-icon-bold.icns -------------------------------------------------------------------------------- /artworks/draft/rime-user-icon-pencil.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/rime-user-icon-pencil.icns -------------------------------------------------------------------------------- /artworks/draft/rime-user-icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/rime-user-icon.icns -------------------------------------------------------------------------------- /artworks/draft/rime_superoutman_1.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/rime_superoutman_1.icns -------------------------------------------------------------------------------- /artworks/draft/rime_superoutman_2.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/rime_superoutman_2.icns -------------------------------------------------------------------------------- /artworks/draft/squirrel-icon-v2-retina.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/squirrel-icon-v2-retina.icns -------------------------------------------------------------------------------- /artworks/draft/squirrel-icon-v3.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/squirrel-icon-v3.icns -------------------------------------------------------------------------------- /artworks/draft/zhung-bold.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/zhung-bold.png -------------------------------------------------------------------------------- /artworks/draft/zhung-handwriting.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/zhung-handwriting.icns -------------------------------------------------------------------------------- /artworks/draft/zhung-original-16x16.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/zhung-original-16x16.tiff -------------------------------------------------------------------------------- /artworks/draft/zhung-original-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/zhung-original-48x48.png -------------------------------------------------------------------------------- /artworks/draft/zhung.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/draft/zhung.png -------------------------------------------------------------------------------- /artworks/la-rime.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/la-rime.odg -------------------------------------------------------------------------------- /artworks/la-rime.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/la-rime.pdf -------------------------------------------------------------------------------- /artworks/schema/emoji-chart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/schema/emoji-chart.png -------------------------------------------------------------------------------- /artworks/squirrel-color-schemes/aqua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/squirrel-color-schemes/aqua.png -------------------------------------------------------------------------------- /artworks/squirrel-color-schemes/azure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/squirrel-color-schemes/azure.png -------------------------------------------------------------------------------- /artworks/squirrel-color-schemes/dark-temple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/squirrel-color-schemes/dark-temple.png -------------------------------------------------------------------------------- /artworks/squirrel-color-schemes/ink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/squirrel-color-schemes/ink.png -------------------------------------------------------------------------------- /artworks/squirrel-color-schemes/lost-temple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/squirrel-color-schemes/lost-temple.png -------------------------------------------------------------------------------- /artworks/squirrel-color-schemes/luna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/squirrel-color-schemes/luna.png -------------------------------------------------------------------------------- /artworks/squirrel-color-schemes/mac-native.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/squirrel-color-schemes/mac-native.png -------------------------------------------------------------------------------- /artworks/squirrel-color-schemes/round-corner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/squirrel-color-schemes/round-corner.png -------------------------------------------------------------------------------- /artworks/squirrel-color-schemes/square-corner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/squirrel-color-schemes/square-corner.png -------------------------------------------------------------------------------- /artworks/squirrel-color-schemes/starcraft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/squirrel-color-schemes/starcraft.png -------------------------------------------------------------------------------- /artworks/zhung.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/zhung.icns -------------------------------------------------------------------------------- /artworks/zhung.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/zhung.ico -------------------------------------------------------------------------------- /artworks/zhung.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/zhung.png -------------------------------------------------------------------------------- /artworks/zhung.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/zhung.xcf -------------------------------------------------------------------------------- /artworks/zhung_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/zhung_128x128.png -------------------------------------------------------------------------------- /artworks/zhung_24x24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/zhung_24x24.png -------------------------------------------------------------------------------- /artworks/zhung_256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/zhung_256x256.png -------------------------------------------------------------------------------- /artworks/zhung_32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/zhung_32x32.png -------------------------------------------------------------------------------- /artworks/zhung_512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/zhung_512x512.png -------------------------------------------------------------------------------- /artworks/zhung_64x64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/artworks/zhung_64x64.png -------------------------------------------------------------------------------- /brise/essay.kct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/brise/essay.kct -------------------------------------------------------------------------------- /brise/supplement/ipa_xsampa.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # vim: set sw=2 sts=2 et: 3 | # encoding: utf-8 4 | 5 | schema: 6 | schema_id: ipa_xsampa 7 | name: X-SAMPA 8 | version: "0.1" 9 | author: 10 | - Rime Developers 11 | description: | 12 | IPA input method in X-SAMPA. 13 | http://en.wikipedia.org/wiki/X-SAMPA 14 | 15 | switches: 16 | - name: ascii_mode 17 | reset: 0 18 | states: [ 中文, 西文 ] 19 | 20 | engine: 21 | processors: 22 | - ascii_composer 23 | - speller 24 | - selector 25 | - navigator 26 | - express_editor 27 | segmentors: 28 | - ascii_segmentor 29 | - abc_segmentor 30 | - fallback_segmentor 31 | translators: 32 | - table_translator 33 | 34 | speller: 35 | alphabet: 'ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba_<>\`~."%'':@{}1234567890&?!^|=-+/' 36 | delimiter: ' ' 37 | 38 | translator: 39 | dictionary: ipa_xsampa 40 | -------------------------------------------------------------------------------- /doc/design/rime-architecture-0.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/design/rime-architecture-0.docx -------------------------------------------------------------------------------- /doc/design/rime-architecture-0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/design/rime-architecture-0.pdf -------------------------------------------------------------------------------- /doc/design/rime-architecture.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/design/rime-architecture.odg -------------------------------------------------------------------------------- /doc/design/rime-architecture.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/design/rime-architecture.pdf -------------------------------------------------------------------------------- /doc/design/rime-data-structure.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/design/rime-data-structure.odg -------------------------------------------------------------------------------- /doc/design/rime-data-structure.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/design/rime-data-structure.pdf -------------------------------------------------------------------------------- /doc/design/rime-interaction-design.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/design/rime-interaction-design.odg -------------------------------------------------------------------------------- /doc/design/rime-interaction-design.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/design/rime-interaction-design.pdf -------------------------------------------------------------------------------- /doc/manual/combo-pinyin/combo-pinyin-layout-0-basic.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/manual/combo-pinyin/combo-pinyin-layout-0-basic.odg -------------------------------------------------------------------------------- /doc/manual/combo-pinyin/combo-pinyin-layout-0-basic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/manual/combo-pinyin/combo-pinyin-layout-0-basic.pdf -------------------------------------------------------------------------------- /doc/manual/combo-pinyin/combo-pinyin-layout-0-basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/manual/combo-pinyin/combo-pinyin-layout-0-basic.png -------------------------------------------------------------------------------- /doc/manual/combo-pinyin/combo-pinyin-layout-0.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/manual/combo-pinyin/combo-pinyin-layout-0.odg -------------------------------------------------------------------------------- /doc/manual/combo-pinyin/combo-pinyin-layout-0.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/manual/combo-pinyin/combo-pinyin-layout-0.pdf -------------------------------------------------------------------------------- /doc/manual/combo-pinyin/combo-pinyin-layout-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/manual/combo-pinyin/combo-pinyin-layout-0.png -------------------------------------------------------------------------------- /doc/manual/combo-pinyin/combopy-lookup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/manual/combo-pinyin/combopy-lookup.png -------------------------------------------------------------------------------- /doc/manual/combo-pinyin/combopy-practice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/manual/combo-pinyin/combopy-practice.png -------------------------------------------------------------------------------- /doc/manual/combo-pinyin/combopy-wozuishuai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/doc/manual/combo-pinyin/combopy-wozuishuai.png -------------------------------------------------------------------------------- /doc/tutorial/hello_1/hello.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # encoding: utf-8 3 | # 4 | # 最簡單的 Rime 輸入方案 5 | # 6 | 7 | schema: 8 | schema_id: hello # 注意此ID與文件名裏 .schema.yaml 之前的部分相同 9 | name: 大家好 # 將在〔方案選單〕中顯示 10 | version: "1" # 這是文字類型而非整數或小數,如 "1.2.3" 11 | -------------------------------------------------------------------------------- /doc/tutorial/hello_2/hello.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # encoding: utf-8 3 | # 4 | # 開始添加功能組件,處理輸入碼 5 | # 6 | 7 | schema: 8 | schema_id: hello 9 | name: 大家好 10 | version: "2" 11 | 12 | engine: 13 | processors: 14 | - fluency_editor 15 | segmentors: 16 | - fallback_segmentor 17 | -------------------------------------------------------------------------------- /doc/tutorial/hello_3/hello.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # encoding: utf-8 3 | # 4 | # 改用 speller + express_editor 的組合, 5 | # 對字母組成的編碼與數字、符號按鍵做不同的處理; 6 | # 再爲當前編碼生成一個無聊的候選項。 7 | # 8 | 9 | schema: 10 | schema_id: hello 11 | name: 大家好 12 | version: "3" 13 | 14 | engine: 15 | processors: 16 | - speller # 把字母追加到編碼串 17 | - express_editor # 空格確認當前輸入、其他字符直接上屏 18 | segmentors: 19 | - fallback_segmentor 20 | translators: 21 | - echo_translator # (無有其他結果時,)創建一個與編碼串一個模樣的候選項 22 | -------------------------------------------------------------------------------- /doc/tutorial/hello_4/hello.dict.yaml: -------------------------------------------------------------------------------- 1 | # Rime dictionary 2 | # encoding: utf-8 3 | # 4 | # 問候語小詞典 5 | # 6 | 7 | --- 8 | name: hello 9 | version: "1" 10 | sort: original 11 | ... 12 | 13 | 大家好 hello 14 | 再見 bye 15 | 再會 bye 16 | -------------------------------------------------------------------------------- /doc/tutorial/hello_4/hello.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # encoding: utf-8 3 | # 4 | # 對照詞典來翻譯 5 | # 6 | 7 | schema: 8 | schema_id: hello 9 | name: 大家好 10 | version: "4" 11 | 12 | engine: 13 | processors: 14 | - speller 15 | - express_editor 16 | segmentors: 17 | - abc_segmentor # 標記輸入碼的類型 18 | - fallback_segmentor 19 | translators: 20 | - echo_translator 21 | - table_translator # 碼表式轉換 22 | 23 | translator: 24 | dictionary: hello # 設定 table_translator 使用的詞典名 25 | -------------------------------------------------------------------------------- /doc/tutorial/hello_5/hello.dict.yaml: -------------------------------------------------------------------------------- 1 | # Rime dictionary 2 | # encoding: utf-8 3 | # 4 | # 問候語小詞典 5 | # 6 | 7 | --- 8 | name: hello 9 | version: "2" 10 | sort: original 11 | ... 12 | 13 | 大家好 hello 14 | 再見 bye 15 | 再會 bye 16 | 17 | 星期一 monday 18 | 星期二 tuesday 19 | 星期三 wednesday 20 | 星期四 thursday 21 | 星期五 friday 22 | 星期六 saturday 23 | 星期日 sunday 24 | 25 | 星期一 weekday 26 | 星期二 weekday 27 | 星期三 weekday 28 | 星期四 weekday 29 | 星期五 weekday 30 | 星期六 weekday 31 | 星期日 weekday 32 | -------------------------------------------------------------------------------- /doc/tutorial/hello_5/hello.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # encoding: utf-8 3 | # 4 | # 用數字鍵選字;響應上下左右、換頁鍵 5 | # 6 | # 爲了表演換頁,詞典裏也加入了一些新條目 7 | # 8 | 9 | schema: 10 | schema_id: hello 11 | name: 大家好 12 | version: "5" 13 | 14 | engine: 15 | processors: 16 | - speller 17 | - selector # 選字、換頁 18 | - navigator # 移動插入點 19 | - express_editor 20 | segmentors: 21 | - abc_segmentor 22 | - fallback_segmentor 23 | translators: 24 | - echo_translator 25 | - table_translator 26 | 27 | translator: 28 | dictionary: hello 29 | -------------------------------------------------------------------------------- /doc/tutorial/hello_6/hello.dict.yaml: -------------------------------------------------------------------------------- 1 | # Rime dictionary 2 | # encoding: utf-8 3 | # 4 | # 問候語小詞典 5 | # 6 | 7 | --- 8 | name: hello 9 | version: "2" 10 | sort: original 11 | ... 12 | 13 | 大家好 hello 14 | 再見 bye 15 | 再會 bye 16 | 17 | 星期一 monday 18 | 星期二 tuesday 19 | 星期三 wednesday 20 | 星期四 thursday 21 | 星期五 friday 22 | 星期六 saturday 23 | 星期日 sunday 24 | 25 | 星期一 weekday 26 | 星期二 weekday 27 | 星期三 weekday 28 | 星期四 weekday 29 | 星期五 weekday 30 | 星期六 weekday 31 | 星期日 weekday 32 | -------------------------------------------------------------------------------- /doc/tutorial/hello_6/hello.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # encoding: utf-8 3 | # 4 | # 添加標點符號 5 | # 6 | 7 | schema: 8 | schema_id: hello 9 | name: 大家好 10 | version: "6" 11 | 12 | engine: 13 | processors: 14 | - speller 15 | - punctuator # 處理符號按鍵 16 | - selector 17 | - navigator 18 | - express_editor 19 | segmentors: 20 | - abc_segmentor 21 | - punct_segmentor # 劃界,與前後方的其他編碼區分開 22 | - fallback_segmentor 23 | translators: 24 | - echo_translator 25 | - punct_translator # 轉換 26 | - table_translator 27 | 28 | translator: 29 | dictionary: hello 30 | 31 | punctuator: # 設定符號表,這裏直接導入預設的 32 | import_preset: default 33 | -------------------------------------------------------------------------------- /doc/tutorial/hello_7/hello.dict.yaml: -------------------------------------------------------------------------------- 1 | # Rime dictionary 2 | # encoding: utf-8 3 | # 4 | # 問候語小詞典 5 | # 6 | 7 | --- 8 | name: hello 9 | version: "2" 10 | sort: original 11 | ... 12 | 13 | 大家好 hello 14 | 再見 bye 15 | 再會 bye 16 | 17 | 星期一 monday 18 | 星期二 tuesday 19 | 星期三 wednesday 20 | 星期四 thursday 21 | 星期五 friday 22 | 星期六 saturday 23 | 星期日 sunday 24 | 25 | 星期一 weekday 26 | 星期二 weekday 27 | 星期三 weekday 28 | 星期四 weekday 29 | 星期五 weekday 30 | 星期六 weekday 31 | 星期日 weekday 32 | -------------------------------------------------------------------------------- /doc/tutorial/hello_7/hello.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # encoding: utf-8 3 | # 4 | # 定義以符號鍵換頁 5 | # 6 | 7 | schema: 8 | schema_id: hello 9 | name: 大家好 10 | version: "7" 11 | 12 | engine: 13 | processors: 14 | - key_binder # 搶在其他 processor 處理之前判定是否換頁用的符號鍵 15 | - speller 16 | - punctuator # 否則「,。」就會由此上屏 17 | - selector 18 | - navigator 19 | - express_editor 20 | segmentors: 21 | - abc_segmentor 22 | - punct_segmentor 23 | - fallback_segmentor 24 | translators: 25 | - echo_translator 26 | - punct_translator 27 | - table_translator 28 | 29 | translator: 30 | dictionary: hello 31 | 32 | punctuator: 33 | import_preset: default 34 | 35 | key_binder: 36 | bindings: # 每條定義包含條件、接收按鍵(IBus規格的鍵名,可加修飾符,如「Control+Return」)、發送按鍵 37 | 38 | - when: paging # 僅當已發生向後換頁時, 39 | accept: comma # 將「逗號」鍵…… 40 | send: Page_Up # 關聯到「向前換頁」;於是 navigator 將收到一發 Page_Up 41 | 42 | - when: has_menu # 只要有候選字即滿足條件 43 | accept: period 44 | send: Page_Down 45 | -------------------------------------------------------------------------------- /doc/tutorial/numbers_1/numbers.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # encoding: utf-8 3 | 4 | schema: 5 | schema_id: numbers 6 | name: 數字之道 7 | version: "1" 8 | 9 | engine: 10 | processors: 11 | - punctuator 12 | - express_editor 13 | segmentors: 14 | - punct_segmentor 15 | translators: 16 | - punct_translator 17 | 18 | punctuator: 19 | half_shape: &symtable 20 | "1" : 一 21 | "2" : 二 22 | "3" : 三 23 | "4" : 四 24 | "5" : 五 25 | "6" : 六 26 | "7" : 七 27 | "8" : 八 28 | "9" : 九 29 | "0" : 〇 30 | "s" : 十 31 | "b" : 百 32 | "q" : 千 33 | "w" : 萬 34 | "n" : 年 35 | "y" : [ 月, 元, 億 ] 36 | "r" : 日 37 | "x" : 星期 38 | "j" : 角 39 | "f" : 分 40 | "z" : [ 之, 整 ] 41 | "d" : 第 42 | "h" : 號 43 | "." : 點 44 | full_shape: *symtable 45 | -------------------------------------------------------------------------------- /doc/tutorial/numbers_3/numbers.dict.yaml: -------------------------------------------------------------------------------- 1 | # Rime dictionary 2 | # encoding: utf-8 3 | 4 | --- 5 | name: numbers 6 | version: "1" 7 | sort: by_weight 8 | use_preset_vocabulary: true 9 | ... 10 | 11 | 一 yi 12 | 二 er 13 | 三 san 14 | 四 si 15 | 五 wu 16 | 六 liu 17 | 七 qi 18 | 八 ba 19 | 九 jiu 20 | 〇 ling 21 | 零 ling 22 | 十 shi 23 | 百 bai 24 | 千 qian 25 | 萬 wan 26 | 億 yi 27 | 年 nian 28 | 月 yue 29 | 日 ri 30 | 星 xing 31 | 期 qi 32 | 時 shi 33 | 分 fen 34 | 秒 miao 35 | 元 yuan 36 | 角 jiao 37 | 之 zhi 38 | 整 zheng 39 | 第 di 40 | 號 hao 41 | 點 dian 42 | 是 shi 43 | -------------------------------------------------------------------------------- /doc/tutorial/numbers_3/numbers.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # encoding: utf-8 3 | 4 | schema: 5 | schema_id: numbers 6 | name: 數字之道 7 | version: "3" 8 | 9 | engine: 10 | processors: 11 | - speller 12 | - punctuator 13 | - selector 14 | - express_editor 15 | segmentors: 16 | - abc_segmentor 17 | - punct_segmentor 18 | translators: 19 | - punct_translator 20 | - r10n_translator 21 | 22 | translator: 23 | dictionary: numbers 24 | 25 | punctuator: 26 | half_shape: &symtable 27 | "!" : 壹 28 | "@" : 貳 29 | "#" : 參 30 | "$" : [ 肆, ¥, "$", "€", "£" ] 31 | "%" : [ 伍, 百分之 ] 32 | "^" : 陸 33 | "&" : 柒 34 | "*" : 捌 35 | "(" : 玖 36 | ")" : 零 37 | "S" : 拾 38 | "B" : 佰 39 | "Q" : 仟 40 | "W" : 萬 41 | "N" : 年 42 | "Y" : [ 月, 圓, 億 ] 43 | "R" : 日 44 | "X" : 星期 45 | "J" : 角 46 | "F" : 分 47 | "Z" : [ 之, 整 ] 48 | "D" : 第 49 | "H" : 號 50 | "." : 點 51 | full_shape: *symtable 52 | -------------------------------------------------------------------------------- /doc/tutorial/numbers_4/numbers.dict.yaml: -------------------------------------------------------------------------------- 1 | # Rime dictionary 2 | # encoding: utf-8 3 | 4 | --- 5 | name: numbers 6 | version: "2" 7 | sort: by_weight 8 | use_preset_vocabulary: true 9 | ... 10 | 11 | 一 yi 12 | 二 er 13 | 三 san 14 | 四 si 15 | 五 wu 16 | 六 liu 17 | 七 qi 18 | 八 ba 19 | 九 jiu 20 | 〇 ling 21 | 零 ling 22 | 十 shi 23 | 百 bai 24 | 千 qian 25 | 萬 wan 26 | 億 yi 27 | 年 nian 28 | 月 yue 29 | 日 ri 30 | 星 xing 31 | 期 qi 32 | 時 shi 33 | 分 fen 34 | 秒 miao 35 | 元 yuan 36 | 角 jiao 37 | 之 zhi 38 | 整 zheng 39 | 第 di 40 | 號 hao 41 | 點 dian 42 | 是 shi 43 | 44 | 四是四 45 | 十是十 46 | 十四是十四 47 | 四十是四十 48 | -------------------------------------------------------------------------------- /doc/tutorial/numbers_4/numbers.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # encoding: utf-8 3 | 4 | schema: 5 | schema_id: numbers 6 | name: 數字之道 7 | version: "4" 8 | 9 | engine: 10 | processors: 11 | - speller 12 | - punctuator 13 | - selector 14 | - navigator 15 | - express_editor 16 | segmentors: 17 | - abc_segmentor 18 | - punct_segmentor 19 | translators: 20 | - punct_translator 21 | - r10n_translator 22 | 23 | translator: 24 | dictionary: numbers 25 | 26 | speller: 27 | algebra: 28 | - 'abbrev/^([a-z]).+$/$1/' 29 | - 'abbrev/^([zcs]h).+$/$1/' 30 | 31 | punctuator: 32 | half_shape: &symtable 33 | "!" : 壹 34 | "@" : 貳 35 | "#" : 參 36 | "$" : [ 肆, ¥, "$", "€", "£" ] 37 | "%" : [ 伍, 百分之 ] 38 | "^" : 陸 39 | "&" : 柒 40 | "*" : 捌 41 | "(" : 玖 42 | ")" : 零 43 | "S" : 拾 44 | "B" : 佰 45 | "Q" : 仟 46 | "W" : 萬 47 | "N" : 年 48 | "Y" : [ 月, 圓, 億 ] 49 | "R" : 日 50 | "X" : 星期 51 | "J" : 角 52 | "F" : 分 53 | "Z" : [ 之, 整 ] 54 | "D" : 第 55 | "H" : 號 56 | "." : 點 57 | full_shape: *symtable 58 | -------------------------------------------------------------------------------- /ibus-rime/.gitignore: -------------------------------------------------------------------------------- 1 | build 2 | cmake 3 | data 4 | package 5 | *~ 6 | .*.swp 7 | -------------------------------------------------------------------------------- /ibus-rime/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | project(ibus-rime) 2 | cmake_minimum_required(VERSION 2.8) 3 | 4 | set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) 5 | 6 | include(${CMAKE_ROOT}/Modules/FindPkgConfig.cmake) 7 | pkg_check_modules(IBus REQUIRED ibus-1.0) 8 | if(IBus_FOUND) 9 | include_directories(${IBus_INCLUDE_DIRS}) 10 | link_directories(${IBus_LIBRARY_DIRS}) 11 | endif(IBus_FOUND) 12 | 13 | find_package(Rime REQUIRED) 14 | if(Rime_FOUND) 15 | include_directories(${Rime_INCLUDE_DIR}) 16 | endif(Rime_FOUND) 17 | 18 | aux_source_directory(. IBUS_RIME_SRC) 19 | add_executable(ibus-engine-rime ${IBUS_RIME_SRC}) 20 | target_link_libraries(ibus-engine-rime ${IBus_LIBRARIES} ${Rime_LIBRARIES}) 21 | -------------------------------------------------------------------------------- /ibus-rime/install.sh: -------------------------------------------------------------------------------- 1 | (cd ../librime; make && sudo make install) 2 | make clean && make && sudo make install && ibus-daemon -drx 3 | -------------------------------------------------------------------------------- /ibus-rime/package/archlinux/ibus-rime/ChangeLog: -------------------------------------------------------------------------------- 1 | 2012-05-06 GONG Chen 2 | 3 | * 0.9.1-1 : 4 | Revised Rime 0.9 API. 5 | -------------------------------------------------------------------------------- /ibus-rime/package/archlinux/ibus-rime/PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: GONG Chen 2 | # Contributor: 網軍總司令 3 | pkgname=ibus-rime 4 | pkgver=0.9.1 5 | pkgrel=1 6 | pkgdesc="Rime input method engine for ibus" 7 | arch=('i686' 'x86_64') 8 | url="http://code.google.com/p/rimeime/" 9 | license=('GPL3') 10 | depends=('ibus' 'librime') 11 | makedepends=('cmake') 12 | install=ibus-rime.install 13 | changelog=ChangeLog 14 | source=(http://rimeime.googlecode.com/files/$pkgname-$pkgver.tar.gz) 15 | 16 | build() { 17 | cd "${srcdir}/$pkgname" 18 | make ibus-rime 19 | } 20 | 21 | package() { 22 | cd "${srcdir}/$pkgname" 23 | make DESTDIR="$pkgdir" install 24 | } 25 | 26 | -------------------------------------------------------------------------------- /ibus-rime/package/archlinux/ibus-rime/ibus-rime.install: -------------------------------------------------------------------------------- 1 | post_install() { 2 | echo 'precompiling Rime schemas, patience...' 3 | cd /usr/share/ibus-rime 4 | /usr/lib/ibus-rime/ibus-engine-rime --build 5 | if [ -e rime.log ]; then rm rime.log; fi 6 | if [ -e installation.yaml ]; then rm installation.yaml; fi 7 | } 8 | 9 | post_upgrade() { 10 | echo 'precompiling Rime schemas, patience...' 11 | cd /usr/share/ibus-rime 12 | /usr/lib/ibus-rime/ibus-engine-rime --build 13 | if [ -e rime.log ]; then rm rime.log; fi 14 | if [ -e installation.yaml ]; then rm installation.yaml; fi 15 | } 16 | 17 | pre_remove() { 18 | echo 'cleaning up precompiled Rime schema files.' 19 | rm /usr/share/ibus-rime/*.bin 20 | } 21 | -------------------------------------------------------------------------------- /ibus-rime/package/archlinux/librime/ChangeLog: -------------------------------------------------------------------------------- 1 | 2012-05-06 GONG Chen 2 | 3 | * 0.9.1-1 : 4 | Revised Rime 0.9 API. 5 | -------------------------------------------------------------------------------- /ibus-rime/package/archlinux/librime/PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: GONG Chen 2 | # Contributor: 網軍總司令 3 | pkgname=librime 4 | pkgver=0.9.1 5 | pkgrel=1 6 | pkgdesc="Rime input method engine" 7 | arch=('i686' 'x86_64') 8 | url="http://code.google.com/p/rimeime/" 9 | license=('GPL3') 10 | depends=('boost>=1.46' 'kyotocabinet' 'opencc' 'yaml-cpp') 11 | makedepends=('cmake') 12 | changelog=ChangeLog 13 | source=(http://rimeime.googlecode.com/files/$pkgname-$pkgver.tar.gz) 14 | 15 | build() { 16 | cd "${srcdir}/$pkgname" 17 | make 18 | } 19 | 20 | package() { 21 | cd "${srcdir}/$pkgname" 22 | make DESTDIR="$pkgdir" install 23 | } 24 | 25 | -------------------------------------------------------------------------------- /ibus-rime/package/package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ -z "$1" ]; then 3 | echo "usage: `basename $0` {version}" 4 | exit 1 5 | fi 6 | version=$1 7 | mkdir -p temp 8 | cd temp 9 | for x in brise librime ibus-rime; do 10 | if [ -d $x ]; then rm -Rf $x; fi 11 | git clone ../../../$x && rm -Rf $x/.git 12 | done 13 | tar czvf ../librime-$version.tar.gz librime/ 14 | tar czvf ../ibus-rime-$version.tar.gz brise/ ibus-rime/ 15 | cd .. 16 | rm -Rf temp 17 | echo 18 | echo 'built:' 19 | ls *-$version.tar.gz 20 | -------------------------------------------------------------------------------- /ibus-rime/rime.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | com.googlecode.rimeime.Rime 5 | Rime Component 6 | /usr/lib/ibus-rime/ibus-engine-rime --ibus 7 | 1.0 8 | GONG Chen <chen.sst@gmail.com> 9 | GPL 10 | http://code.google.com/p/rimeime/ 11 | ibus-rime 12 | 13 | 14 | rime 15 | zh 16 | GPL 17 | GONG Chen <chen.sst@gmail.com> 18 | /usr/share/ibus-rime/icons/zhung.png 19 | us 20 | Rime 21 | Rime Input Method Engine 22 | 0 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /ibus-rime/rime_engine.h: -------------------------------------------------------------------------------- 1 | #ifndef __IBUS_RIME_ENGINE_H__ 2 | #define __IBUS_RIME_ENGINE_H__ 3 | 4 | #include 5 | 6 | #define IBUS_TYPE_RIME_ENGINE \ 7 | (ibus_rime_engine_get_type()) 8 | 9 | GType ibus_rime_engine_get_type(); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /ibus-rime/zhung.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/ibus-rime/zhung.png -------------------------------------------------------------------------------- /librime/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | vcbuild/ 3 | xbuild/ 4 | thirdparty/include/* 5 | thirdparty/lib/* 6 | env.bat 7 | *~ 8 | .*.swp 9 | -------------------------------------------------------------------------------- /librime/Makefile: -------------------------------------------------------------------------------- 1 | all: librime 2 | @echo ':)' 3 | 4 | librime: 5 | mkdir -p build 6 | (cd build; cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_STATIC=OFF ..) 7 | make -C build 8 | 9 | install: 10 | make -C build install 11 | -------------------------------------------------------------------------------- /librime/RELEASE_NOTES: -------------------------------------------------------------------------------- 1 | 2 | rime - release notes 3 | 4 | rime 0.9.1 - 2012-05-06 5 | ======================= 6 | - revised C API 7 | 8 | rime 0.9 - 2012-05-01 9 | ===================== 10 | - works :) 11 | 12 | la renaissance de la rime 0.0 - 2011-02-12 13 | ========================================== 14 | - new name adopted: RIME - Rime Input Method Engine 15 | - planning some serious work 16 | 17 | experimental versions before `la renaissance de la rime`: 18 | 19 | ibus-zime 3.6 - 2010-10-17 20 | ========================== 21 | - in Python 22 | -------------------------------------------------------------------------------- /librime/cmake/FindKyotoCabinet.cmake: -------------------------------------------------------------------------------- 1 | set(_kyotocabinet_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) 2 | 3 | find_path(KyotoCabinet_INCLUDE_PATH kccommon.h) 4 | 5 | if (KyotoCabinet_STATIC) 6 | if (WIN32) 7 | set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) 8 | else (WIN32) 9 | set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) 10 | endif (WIN32) 11 | endif (KyotoCabinet_STATIC) 12 | find_library(KyotoCabinet_LIBRARY NAMES kyotocabinet) 13 | if(KyotoCabinet_INCLUDE_PATH AND KyotoCabinet_LIBRARY) 14 | set(KyotoCabinet_FOUND TRUE) 15 | endif(KyotoCabinet_INCLUDE_PATH AND KyotoCabinet_LIBRARY) 16 | if(KyotoCabinet_FOUND) 17 | if(NOT KyotoCabinet_FIND_QUIETLY) 18 | message(STATUS "Found kyotocabinet: ${KyotoCabinet_LIBRARY}") 19 | endif(NOT KyotoCabinet_FIND_QUIETLY) 20 | else(KyotoCabinet_FOUND) 21 | if(KyotoCabinet_FIND_REQUIRED) 22 | message(FATAL_ERROR "Could not find kyotocabinet library.") 23 | endif(KyotoCabinet_FIND_REQUIRED) 24 | endif(KyotoCabinet_FOUND) 25 | 26 | set(CMAKE_FIND_LIBRARY_SUFFIXES ${_kyotocabinet_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) 27 | -------------------------------------------------------------------------------- /librime/cmake/FindOpencc.cmake: -------------------------------------------------------------------------------- 1 | set(_opencc_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) 2 | 3 | find_path(Opencc_INCLUDE_PATH opencc/opencc.h) 4 | 5 | if (Opencc_STATIC) 6 | if (WIN32) 7 | set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) 8 | else (WIN32) 9 | set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) 10 | endif (WIN32) 11 | endif (Opencc_STATIC) 12 | find_library(Opencc_LIBRARY NAMES opencc) 13 | if(Opencc_INCLUDE_PATH AND Opencc_LIBRARY) 14 | set(Opencc_FOUND TRUE) 15 | endif(Opencc_INCLUDE_PATH AND Opencc_LIBRARY) 16 | if(Opencc_FOUND) 17 | if(NOT Opencc_FIND_QUIETLY) 18 | message(STATUS "Found opencc: ${Opencc_LIBRARY}") 19 | endif(NOT Opencc_FIND_QUIETLY) 20 | else(Opencc_FOUND) 21 | if(Opencc_FIND_REQUIRED) 22 | message(FATAL_ERROR "Could not find opencc library.") 23 | endif(Opencc_FIND_REQUIRED) 24 | endif(Opencc_FOUND) 25 | 26 | set(CMAKE_FIND_LIBRARY_SUFFIXES ${_opencc_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) 27 | -------------------------------------------------------------------------------- /librime/cmake/FindYamlCpp.cmake: -------------------------------------------------------------------------------- 1 | set(_yamlcpp_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) 2 | 3 | find_path(YamlCpp_INCLUDE_PATH yaml-cpp/yaml.h) 4 | 5 | if (YamlCpp_STATIC) 6 | if (WIN32) 7 | set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) 8 | else (WIN32) 9 | set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) 10 | endif (WIN32) 11 | endif (YamlCpp_STATIC) 12 | find_library(YamlCpp_LIBRARY NAMES libyaml-cppmt yaml-cpp) 13 | if(YamlCpp_INCLUDE_PATH AND YamlCpp_LIBRARY) 14 | set(YamlCpp_FOUND TRUE) 15 | endif(YamlCpp_INCLUDE_PATH AND YamlCpp_LIBRARY) 16 | if(YamlCpp_FOUND) 17 | if(NOT YamlCpp_FIND_QUIETLY) 18 | message(STATUS "Found yaml-cpp: ${YamlCpp_LIBRARY}") 19 | endif(NOT YamlCpp_FIND_QUIETLY) 20 | else(YamlCpp_FOUND) 21 | if(YamlCpp_FIND_REQUIRED) 22 | message(FATAL_ERROR "Could not find yaml-cpp library.") 23 | endif(YamlCpp_FIND_REQUIRED) 24 | endif(YamlCpp_FOUND) 25 | 26 | set(CMAKE_FIND_LIBRARY_SUFFIXES ${_yamlcpp_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) 27 | -------------------------------------------------------------------------------- /librime/cmake/RimeConfig.cmake: -------------------------------------------------------------------------------- 1 | # - Locate the rime library 2 | # This module defines 3 | # Rime_FOUND found librime 4 | # Rime_LIBRARY rime library path 5 | # Rime_INCLUDE_DIRS, where to find headers 6 | 7 | #============================================================================== 8 | # Copyright 2012 Xuetian Weng 9 | # 10 | # Distributed under the GPLv3 License 11 | #============================================================================== 12 | 13 | # use pkg-config to get the directories and then use these values 14 | # in the FIND_PATH() and FIND_LIBRARY() calls 15 | 16 | if(Rime_INCLUDE_DIR AND Rime_LIBRARIES) 17 | # Already in cache, be silent 18 | set(Rime_FIND_QUIETLY TRUE) 19 | endif(Rime_INCLUDE_DIR AND Rime_LIBRARIES) 20 | 21 | include(FindPkgConfig) 22 | PKG_CHECK_MODULES(PC_Rime fcitx) 23 | 24 | find_path(Rime_MAIN_INCLUDE_DIR 25 | NAMES rime_api.h 26 | HINTS ${PC_Rime_INCLUDEDIR} 27 | ) 28 | 29 | find_library(Rime_LIBRARIES 30 | NAMES rime 31 | HINTS ${PC_Rime_LIBDIR}) 32 | 33 | set(Rime_INCLUDE_DIR "${Rime_MAIN_INCLUDE_DIR}") 34 | 35 | INCLUDE(FindPackageHandleStandardArgs) 36 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(Rime DEFAULT_MSG Rime_LIBRARIES Rime_MAIN_INCLUDE_DIR) 37 | -------------------------------------------------------------------------------- /librime/cmake/c_flag_overrides.cmake: -------------------------------------------------------------------------------- 1 | if(MSVC) 2 | set(CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1") 3 | set(CMAKE_C_FLAGS_MINSIZEREL_INIT "/MT /O1 /Ob1 /D NDEBUG") 4 | set(CMAKE_C_FLAGS_RELEASE_INIT "/MT /O2 /Ob2 /D NDEBUG") 5 | set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/MT /Zi /Od /Ob1 /D NDEBUG") 6 | endif() 7 | -------------------------------------------------------------------------------- /librime/cmake/cmake_uninstall.cmake.in: -------------------------------------------------------------------------------- 1 | if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") 2 | message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") 3 | endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") 4 | 5 | file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) 6 | string(REGEX REPLACE "\n" ";" files "${files}") 7 | foreach (file ${files}) 8 | message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") 9 | if (EXISTS "$ENV{DESTDIR}${file}" OR IS_SYMLINK "$ENV{DESTDIR}${file}") 10 | execute_process( 11 | COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}" 12 | OUTPUT_VARIABLE rm_out 13 | RESULT_VARIABLE rm_retval 14 | ) 15 | if(NOT ${rm_retval} EQUAL 0) 16 | message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") 17 | endif (NOT ${rm_retval} EQUAL 0) 18 | else (EXISTS "$ENV{DESTDIR}${file}" OR IS_SYMLINK "$ENV{DESTDIR}${file}") 19 | message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") 20 | endif (EXISTS "$ENV{DESTDIR}${file}" OR IS_SYMLINK "$ENV{DESTDIR}${file}") 21 | endforeach(file) 22 | -------------------------------------------------------------------------------- /librime/cmake/cxx_flag_overrides.cmake: -------------------------------------------------------------------------------- 1 | if(MSVC) 2 | set(CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1") 3 | set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "/MT /O1 /Ob1 /D NDEBUG") 4 | set(CMAKE_CXX_FLAGS_RELEASE_INIT "/MT /O2 /Ob2 /D NDEBUG") 5 | set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/MT /Zi /Od /Ob1 /D NDEBUG") 6 | endif() 7 | -------------------------------------------------------------------------------- /librime/data/config_test.yaml: -------------------------------------------------------------------------------- 1 | # Rime config test data 2 | 3 | terrans: 4 | tank: 5 | seiged: false 6 | cost: 7 | mineral: 150 8 | gas: 100 9 | time: 30 seconds 10 | supply: 11 | produced: 0x1c 12 | math: 13 | pi: 3.1415926 14 | 15 | protoss: 16 | battery: 17 | energy: 10.111 18 | residence: Aiur 19 | air_force: 20 | - scout 21 | - cossair 22 | - carrier 23 | - arbiter 24 | 25 | zerg: 26 | lurker: 27 | burrowed: true 28 | zergling: 29 | lost: 1234 30 | queen: Kerrigan 31 | -------------------------------------------------------------------------------- /librime/data/essay.kct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/librime/data/essay.kct -------------------------------------------------------------------------------- /librime/data/schema/cangjie5.dict.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/librime/data/schema/cangjie5.dict.yaml -------------------------------------------------------------------------------- /librime/env.bat.template: -------------------------------------------------------------------------------- 1 | rem environment settings 2 | set DEV_PATH=\opt\cmake-win32\bin;\opt\svn-win32\bin 3 | set RIME_ROOT=%CD% 4 | set BOOST_ROOT=\code\boost_1_47_0 5 | -------------------------------------------------------------------------------- /librime/include/rime/algo/algebra.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2012 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2012-01-19 GONG Chen 8 | // 9 | 10 | #ifndef RIME_ALGEBRA_H_ 11 | #define RIME_ALGEBRA_H_ 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include "spelling.h" 19 | 20 | namespace rime { 21 | 22 | class Calculation; 23 | class Schema; 24 | 25 | class Script : public std::map > { 26 | public: 27 | bool AddSyllable(const std::string& syllable); 28 | void Merge(const std::string& s, 29 | const SpellingProperties& sp, 30 | const std::vector& v); 31 | }; 32 | 33 | class Projection { 34 | public: 35 | bool Load(ConfigListPtr settings); 36 | // "spelling" -> "gnilleps" 37 | bool Apply(std::string* value); 38 | // {z, y, x} -> {a, b, c, d} 39 | bool Apply(Script* value); 40 | protected: 41 | std::vector > calculation_; 42 | }; 43 | 44 | } // namespace rime 45 | 46 | #endif // RIME_ALGEBRA_H_ 47 | -------------------------------------------------------------------------------- /librime/include/rime/algo/dynamics.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | namespace rime { 4 | namespace algo { 5 | 6 | inline double formula_d(double d, double t, double da, double ta) { 7 | return d + da * exp((ta - t) / 200); 8 | } 9 | 10 | inline double formula_p(double s, double u, double t, double d) { 11 | const double kM = 1 / (1 - exp(-0.005)); 12 | double m = s - (s - u) * pow((1 - exp(-t / 10000)), 10); 13 | return (d < 20) ? m + (0.5 - m) * (d / kM) : 14 | m + (1 - m) * (pow(4, (d / kM)) - 1) / 3; 15 | } 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /librime/include/rime/algo/spelling.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2012 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2012-01-17 GONG Chen 8 | // 9 | 10 | #ifndef RIME_SPELLING_H_ 11 | #define RIME_SPELLING_H_ 12 | 13 | #include 14 | 15 | namespace rime { 16 | 17 | enum SpellingType { kNormalSpelling, kAbbreviation, kCompletion, 18 | kAmbiguousSpelling, kInvalidSpelling }; 19 | 20 | struct SpellingProperties { 21 | SpellingType type; 22 | size_t end_pos; 23 | double credibility; 24 | std::string tips; 25 | SpellingProperties() : type(kNormalSpelling), end_pos(0), credibility(1.0) {} 26 | }; 27 | 28 | struct Spelling { 29 | std::string str; 30 | SpellingProperties properties; 31 | Spelling() {} 32 | Spelling(const std::string& _str) : str(_str), properties() {} 33 | bool operator== (const Spelling& other) { return str == other.str; } 34 | bool operator< (const Spelling& other) { return str < other.str; } 35 | }; 36 | 37 | } // namespace rime 38 | 39 | #endif // RIME_SPELLING_H_ 40 | -------------------------------------------------------------------------------- /librime/include/rime/commit_history.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2012 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2012-04-27 GONG Chen 8 | // 9 | #ifndef RIME_COMMIT_HISTORY_H_ 10 | #define RIME_COMMIT_HISTORY_H_ 11 | 12 | #include 13 | #include 14 | 15 | namespace rime { 16 | 17 | struct CommitRecord { 18 | std::string type; 19 | std::string text; 20 | CommitRecord(const std::string& a_type, const std::string& a_text) 21 | : type(a_type), text(a_text) {} 22 | CommitRecord(int keycode) : type("thru"), text(1, keycode) {} 23 | }; 24 | 25 | class KeyEvent; 26 | class Composition; 27 | 28 | class CommitHistory : public std::list { 29 | public: 30 | static const size_t kMaxRecords = 20; 31 | void Push(const CommitRecord& record); 32 | void Push(const KeyEvent& key_event); 33 | void Push(const Composition& composition, const std::string& input); 34 | const std::string repr() const; 35 | }; 36 | 37 | } // Namespace rime 38 | 39 | #endif // RIME_COMMIT_HISTORY_H_ 40 | -------------------------------------------------------------------------------- /librime/include/rime/common.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-03-14 GONG Chen 8 | // 9 | #ifndef RIME_COMMON_H_ 10 | #define RIME_COMMON_H_ 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | namespace rime { 18 | 19 | using boost::scoped_ptr; 20 | using boost::shared_ptr; 21 | using boost::weak_ptr; 22 | using boost::make_shared; 23 | 24 | template 25 | shared_ptr As(const B &ptr) { 26 | return boost::dynamic_pointer_cast(ptr); 27 | } 28 | 29 | void RegisterComponents(); 30 | 31 | const std::string GetLogFilePath(); 32 | 33 | } // namespace rime 34 | 35 | // setup ezlogger 36 | #ifndef EZLOGGER_OUTPUT_FILENAME 37 | #define EZLOGGER_OUTPUT_FILENAME rime::GetLogFilePath() 38 | #endif 39 | #ifndef EZLOGGER_REPLACE_EXISTING_LOGFILE_ 40 | #define EZLOGGER_REPLACE_EXISTING_LOGFILE_ 41 | #endif 42 | // DEBUG 43 | //#define EZLOGGER_IMPLEMENT_DEBUGLOGGING 44 | #include 45 | 46 | #endif // RIME_COMMON_H_ 47 | -------------------------------------------------------------------------------- /librime/include/rime/component.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-03-14 GONG Chen 8 | // 9 | #ifndef RIME_COMPONENT_H_ 10 | #define RIME_COMPONENT_H_ 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | namespace rime { 17 | 18 | class ComponentBase { 19 | public: 20 | ComponentBase() {} 21 | virtual ~ComponentBase() {} 22 | }; 23 | 24 | template 25 | struct Class { 26 | typedef Arg Initializer; 27 | 28 | class Component : public ComponentBase { 29 | public: 30 | virtual T* Create(Initializer arg) = 0; 31 | }; 32 | 33 | static Component* Require(const std::string& name) { 34 | return dynamic_cast(Registry::instance().Find(name)); 35 | } 36 | }; 37 | 38 | template 39 | struct Component : public T::Component { 40 | public: 41 | T* Create(typename T::Initializer arg) { 42 | return new T(arg); 43 | } 44 | }; 45 | 46 | } // namespace rime 47 | 48 | #endif // RIME_COMPONENT_H_ 49 | -------------------------------------------------------------------------------- /librime/include/rime/composition.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-06-19 GONG Chen 8 | // 9 | #ifndef RIME_COMPOSITION_H_ 10 | #define RIME_COMPOSITION_H_ 11 | 12 | #include 13 | #include 14 | 15 | namespace rime { 16 | 17 | struct Preedit { 18 | std::string text; 19 | size_t caret_pos; 20 | size_t sel_start; 21 | size_t sel_end; 22 | }; 23 | 24 | class Composition : public Segmentation { 25 | public: 26 | Composition(); 27 | bool HasFinishedComposition() const; 28 | void GetPreedit(Preedit *preedit) const; 29 | const std::string GetCommitText() const; 30 | const std::string GetScriptText() const; 31 | const std::string GetDebugText() const; 32 | }; 33 | 34 | } // namespace rime 35 | 36 | #endif // RIME_COMPOSITION_H_ 37 | -------------------------------------------------------------------------------- /librime/include/rime/dict/dict_compiler.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-11-27 GONG Chen 8 | // 9 | #ifndef RIME_DICT_COMPILER_H_ 10 | #define RIME_DICT_COMPILER_H_ 11 | 12 | #include 13 | #include 14 | 15 | namespace rime { 16 | 17 | class Dictionary; 18 | class Prism; 19 | class Table; 20 | class TreeDb; 21 | 22 | class DictCompiler { 23 | public: 24 | DictCompiler(Dictionary *dictionary); 25 | 26 | bool Compile(const std::string &dict_file, const std::string &schema_file); 27 | 28 | private: 29 | bool BuildTable(const std::string &dict_file, uint32_t checksum); 30 | bool BuildPrism(const std::string &schema_file, 31 | uint32_t dict_file_checksum, uint32_t schema_file_checksum); 32 | bool BuildReverseLookupDict(TreeDb *db, uint32_t dict_file_checksum); 33 | 34 | std::string dict_name_; 35 | shared_ptr prism_; 36 | shared_ptr table_; 37 | }; 38 | 39 | } // namespace rime 40 | 41 | #endif // RIME_DICT_COMPILER_H_ 42 | -------------------------------------------------------------------------------- /librime/include/rime/engine.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-03-14 GONG Chen 8 | // 9 | #ifndef RIME_ENGINE_H_ 10 | #define RIME_ENGINE_H_ 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | namespace rime { 17 | 18 | class KeyEvent; 19 | class Schema; 20 | class Context; 21 | 22 | class Engine { 23 | public: 24 | typedef boost::signal CommitSink; 25 | 26 | virtual ~Engine(); 27 | virtual bool ProcessKeyEvent(const KeyEvent &key_event) = 0; 28 | virtual void set_schema(Schema *schema) {} 29 | 30 | Schema* schema() const { return schema_.get(); } 31 | Context* context() const { return context_.get(); } 32 | CommitSink& sink() { return sink_; } 33 | 34 | static Engine* Create(Schema *schema = NULL); 35 | 36 | protected: 37 | Engine(Schema *schema); 38 | 39 | scoped_ptr schema_; 40 | scoped_ptr context_; 41 | CommitSink sink_; 42 | }; 43 | 44 | } // namespace rime 45 | 46 | #endif // RIME_ENGINE_H_ 47 | -------------------------------------------------------------------------------- /librime/include/rime/expl/customizer.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2012-02-12 GONG Chen 8 | // 9 | #ifndef RIME_CUSTOMIZER_H_ 10 | #define RIME_CUSTOMIZER_H_ 11 | 12 | #include 13 | #include 14 | 15 | namespace rime { 16 | 17 | class Customizer { 18 | public: 19 | Customizer(const boost::filesystem::path& source_path, 20 | const boost::filesystem::path& dest_path, 21 | const std::string& version_key) 22 | : source_path_(source_path), 23 | dest_path_(dest_path), 24 | version_key_(version_key) {} 25 | 26 | bool UpdateConfigFile(); 27 | 28 | protected: 29 | boost::filesystem::path source_path_; 30 | boost::filesystem::path dest_path_; 31 | std::string version_key_; 32 | }; 33 | 34 | } // namespace rime 35 | 36 | #endif // RIME_CUSTOMIZER_H_ 37 | -------------------------------------------------------------------------------- /librime/include/rime/expl/signature.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2012-02-21 GONG Chen 8 | // 9 | #ifndef RIME_SIGNATURE_H_ 10 | #define RIME_SIGNATURE_H_ 11 | 12 | #include 13 | 14 | namespace rime { 15 | 16 | class Config; 17 | class Deployer; 18 | 19 | class Signature { 20 | public: 21 | explicit Signature(const std::string& generator) 22 | : generator_(generator) {} 23 | bool Sign(Config* config, Deployer* deployer); 24 | private: 25 | std::string generator_; 26 | }; 27 | 28 | } // namespace rime 29 | 30 | #endif // RIME_SIGNATURE_H_ 31 | -------------------------------------------------------------------------------- /librime/include/rime/filter.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-12-11 GONG Chen 8 | // 9 | 10 | #ifndef RIME_FILTER_H_ 11 | #define RIME_FILTER_H_ 12 | 13 | #include 14 | #include 15 | #include 16 | 17 | namespace rime { 18 | 19 | class Engine; 20 | 21 | class Filter : public Class { 22 | public: 23 | Filter(Engine *engine) : engine_(engine) {} 24 | virtual ~Filter() {} 25 | 26 | virtual bool Proceed(CandidateList *recruited, 27 | CandidateList *candidates) = 0; 28 | 29 | protected: 30 | Engine *engine_; 31 | }; 32 | 33 | } // namespace rime 34 | 35 | #endif // RIME_FILTER_H_ 36 | 37 | 38 | -------------------------------------------------------------------------------- /librime/include/rime/impl/abc_segmentor.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-05-20 GONG Chen 8 | // 9 | #ifndef RIME_ABC_SEGMENTOR_H_ 10 | #define RIME_ABC_SEGMENTOR_H_ 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | namespace rime { 17 | 18 | class AbcSegmentor : public Segmentor { 19 | public: 20 | explicit AbcSegmentor(Engine *engine); 21 | 22 | virtual bool Proceed(Segmentation *segmentation); 23 | 24 | protected: 25 | std::string alphabet_; 26 | std::string delimiter_; 27 | std::set extra_tags_; 28 | }; 29 | 30 | } // namespace rime 31 | 32 | #endif // RIME_ABC_SEGMENTOR_H_ 33 | -------------------------------------------------------------------------------- /librime/include/rime/impl/ascii_segmentor.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-12-18 GONG Chen 8 | // 9 | #ifndef RIME_ASCII_SEGMENTOR_H_ 10 | #define RIME_ASCII_SEGMENTOR_H_ 11 | 12 | #include 13 | #include 14 | 15 | namespace rime { 16 | 17 | class AsciiSegmentor : public Segmentor { 18 | public: 19 | explicit AsciiSegmentor(Engine *engine); 20 | 21 | virtual bool Proceed(Segmentation *segmentation); 22 | }; 23 | 24 | } // namespace rime 25 | 26 | #endif // RIME_ASCII_SEGMENTOR_H_ 27 | -------------------------------------------------------------------------------- /librime/include/rime/impl/chord_composer.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2012 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2012-06-05 GONG Chen 8 | // 9 | #ifndef RIME_CHORD_COMPOSER_H_ 10 | #define RIME_CHORD_COMPOSER_H_ 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | namespace rime { 19 | 20 | class ChordComposer : public Processor { 21 | public: 22 | ChordComposer(Engine *engine); 23 | 24 | virtual Result ProcessKeyEvent(const KeyEvent &key_event); 25 | 26 | protected: 27 | const std::string SerializeChord(); 28 | void UpdateChord(); 29 | void FinishChord(); 30 | void ClearChord(); 31 | bool DeleteLastSyllable(); 32 | 33 | std::string alphabet_; 34 | std::string delimiter_; 35 | Projection algebra_; 36 | Projection output_format_; 37 | Projection prompt_format_; 38 | 39 | std::set pressed_; 40 | std::set chord_; 41 | bool pass_thru_; 42 | }; 43 | 44 | } // namespace rime 45 | 46 | #endif // RIME_CHORD_COMPOSER_H_ 47 | -------------------------------------------------------------------------------- /librime/include/rime/impl/echo_translator.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-06-20 GONG Chen 8 | // 9 | #ifndef RIME_ECHO_TRANSLATOR_H_ 10 | #define RIME_ECHO_TRANSLATOR_H_ 11 | 12 | #include 13 | 14 | namespace rime { 15 | 16 | class EchoTranslator : public Translator { 17 | public: 18 | EchoTranslator(Engine *engine) : Translator(engine) {} 19 | virtual ~EchoTranslator() {} 20 | virtual shared_ptr Query(const std::string &input, 21 | const Segment &segment, 22 | std::string* prompt); 23 | }; 24 | 25 | } // namespace rime 26 | 27 | #endif // RIME_ECHO_TRANSLATOR_H_ 28 | -------------------------------------------------------------------------------- /librime/include/rime/impl/fallback_segmentor.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-06-20 GONG Chen 8 | // 9 | #ifndef RIME_FALLBACK_SEGMENTOR_H_ 10 | #define RIME_FALLBACK_SEGMENTOR_H_ 11 | 12 | #include 13 | #include 14 | 15 | namespace rime { 16 | 17 | class FallbackSegmentor : public Segmentor { 18 | public: 19 | explicit FallbackSegmentor(Engine *engine); 20 | 21 | virtual bool Proceed(Segmentation *segmentation); 22 | 23 | private: 24 | 25 | }; 26 | 27 | } // namespace rime 28 | 29 | #endif // RIME_FALLBACK_SEGMENTOR_H_ 30 | -------------------------------------------------------------------------------- /librime/include/rime/impl/key_binder.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-11-23 GONG Chen 8 | // 9 | #ifndef RIME_KEY_BINDER_H_ 10 | #define RIME_KEY_BINDER_H_ 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | namespace rime { 17 | 18 | class KeyBindings; 19 | 20 | class KeyBinder : public Processor { 21 | public: 22 | KeyBinder(Engine *engine); 23 | virtual Result ProcessKeyEvent(const KeyEvent &key_event); 24 | 25 | protected: 26 | bool ReinterpretPagingKey(const KeyEvent &key_event); 27 | 28 | scoped_ptr key_bindings_; 29 | bool redirecting_; 30 | int last_key_; 31 | }; 32 | 33 | } // namespace rime 34 | 35 | #endif // RIME_KEY_BINDER_H_ 36 | -------------------------------------------------------------------------------- /librime/include/rime/impl/matcher.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2012-01-01 GONG Chen 8 | // 9 | #ifndef RIME_MATCHER_H_ 10 | #define RIME_MATCHER_H_ 11 | 12 | #include 13 | #include "recognizer.h" 14 | 15 | namespace rime { 16 | 17 | class Matcher : public Segmentor { 18 | public: 19 | explicit Matcher(Engine *engine); 20 | 21 | virtual bool Proceed(Segmentation *segmentation); 22 | 23 | protected: 24 | RecognizerPatterns patterns_; 25 | }; 26 | 27 | } // namespace rime 28 | 29 | #endif // RIME_MATCHER_H_ 30 | -------------------------------------------------------------------------------- /librime/include/rime/impl/navigator.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-11-20 GONG Chen 8 | // 9 | #ifndef RIME_NAVIGATOR_H_ 10 | #define RIME_NAVIGATOR_H_ 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | namespace rime { 17 | 18 | class Navigator : public Processor { 19 | public: 20 | Navigator(Engine *engine) : Processor(engine) {} 21 | virtual ~Navigator() {} 22 | virtual Result ProcessKeyEvent(const KeyEvent &key_event); 23 | 24 | private: 25 | bool Left(Context *ctx); 26 | bool Right(Context *ctx); 27 | bool Home(Context *ctx); 28 | bool End(Context *ctx); 29 | }; 30 | 31 | } // namespace rime 32 | 33 | #endif // RIME_NAVIGATOR_H_ 34 | -------------------------------------------------------------------------------- /librime/include/rime/impl/selector.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-09-11 GONG Chen 8 | // 9 | #ifndef RIME_SELECTOR_H_ 10 | #define RIME_SELECTOR_H_ 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | namespace rime { 17 | 18 | class Selector : public Processor { 19 | public: 20 | Selector(Engine *engine); 21 | virtual ~Selector() {} 22 | virtual Result ProcessKeyEvent(const KeyEvent &key_event); 23 | 24 | protected: 25 | bool PageUp(Context *ctx); 26 | bool PageDown(Context *ctx); 27 | bool CursorUp(Context *ctx); 28 | bool CursorDown(Context *ctx); 29 | bool Home(Context *ctx); 30 | bool End(Context *ctx); 31 | bool SelectCandidateAt(Context *ctx, int index); 32 | 33 | std::string select_keys_; 34 | }; 35 | 36 | } // namespace rime 37 | 38 | #endif // RIME_SELECTOR_H_ 39 | -------------------------------------------------------------------------------- /librime/include/rime/impl/simplifier.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-12-12 GONG Chen 8 | // 9 | #ifndef RIME_SIMPLIFIER_H_ 10 | #define RIME_SIMPLIFIER_H_ 11 | 12 | #include 13 | 14 | namespace rime { 15 | 16 | class Opencc; 17 | 18 | class Simplifier : public Filter { 19 | public: 20 | explicit Simplifier(Engine *engine); 21 | ~Simplifier(); 22 | 23 | virtual bool Proceed(CandidateList *recruited, 24 | CandidateList *candidates); 25 | 26 | protected: 27 | typedef enum { kTipNone, kTipChar, kTipAll } TipLevel; 28 | 29 | void Initialize(); 30 | bool Convert(const shared_ptr &original, 31 | CandidateList *result); 32 | 33 | bool initialized_; 34 | scoped_ptr opencc_; 35 | TipLevel tip_level_; 36 | std::string option_name_; 37 | std::string opencc_config_; 38 | }; 39 | 40 | } // namespace rime 41 | 42 | #endif // RIME_SIMPLIFIER_H_ 43 | -------------------------------------------------------------------------------- /librime/include/rime/impl/speller.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-10-27 GONG Chen 8 | // 9 | #ifndef RIME_SPELLER_H_ 10 | #define RIME_SPELLER_H_ 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | namespace rime { 17 | 18 | class Speller : public Processor { 19 | public: 20 | Speller(Engine *engine); 21 | virtual ~Speller() {} 22 | virtual Result ProcessKeyEvent(const KeyEvent &key_event); 23 | 24 | protected: 25 | std::string alphabet_; 26 | std::string delimiter_; 27 | std::string initials_; 28 | int max_code_length_; 29 | }; 30 | 31 | } // namespace rime 32 | 33 | #endif // RIME_SPELLER_H_ 34 | -------------------------------------------------------------------------------- /librime/include/rime/impl/trivial_translator.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-04-26 Wensong He 8 | // 9 | #ifndef RIME_TRIVIAL_TRANSLATOR_H_ 10 | #define RIME_TRIVIAL_TRANSLATOR_H_ 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | namespace rime { 19 | 20 | class TrivialTranslator : public Translator { 21 | public: 22 | TrivialTranslator(Engine *engine); 23 | virtual ~TrivialTranslator() {} 24 | 25 | virtual shared_ptr Query(const std::string &input, 26 | const Segment &segment, 27 | std::string* prompt); 28 | 29 | private: 30 | const std::string Translate(const std::string &input); 31 | 32 | typedef std::map TrivialDictionary; 33 | TrivialDictionary dictionary_; 34 | }; 35 | 36 | } // namespace rime 37 | 38 | #endif // RIME_TRIVIAL_TRANSLATOR_H_ 39 | -------------------------------------------------------------------------------- /librime/include/rime/impl/uniquifier.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-12-12 GONG Chen 8 | // 9 | #ifndef RIME_UNIFIER_H_ 10 | #define RIME_UNIFIER_H_ 11 | 12 | #include 13 | 14 | namespace rime { 15 | 16 | class Uniquifier : public Filter { 17 | public: 18 | explicit Uniquifier(Engine *engine); 19 | 20 | virtual bool Proceed(CandidateList *recruited, 21 | CandidateList *candidates); 22 | }; 23 | 24 | } // namespace rime 25 | 26 | #endif // RIME_UNIFIER_H_ 27 | -------------------------------------------------------------------------------- /librime/include/rime/processor.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-03-14 GONG Chen 8 | // 9 | #ifndef RIME_PROCESSOR_H_ 10 | #define RIME_PROCESSOR_H_ 11 | 12 | #include 13 | 14 | namespace rime { 15 | 16 | class Engine; 17 | class KeyEvent; 18 | 19 | class Processor : public Class { 20 | public: 21 | enum Result { 22 | kRejected, // do the OS default processing 23 | kAccepted, // consume it 24 | kNoop, // leave it to other processors 25 | }; 26 | explicit Processor(Engine *engine) : engine_(engine) {} 27 | virtual ~Processor() {} 28 | 29 | virtual Result ProcessKeyEvent(const KeyEvent &/*key_event*/) { 30 | return kNoop; 31 | } 32 | 33 | protected: 34 | Engine *engine_; 35 | }; 36 | 37 | } // namespace rime 38 | 39 | #endif // RIME_PROCESSOR_H_ 40 | -------------------------------------------------------------------------------- /librime/include/rime/registry.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-05-07 GONG Chen 8 | // 9 | #ifndef RIME_REGISTRY_H_ 10 | #define RIME_REGISTRY_H_ 11 | 12 | #include 13 | #include 14 | #include 15 | 16 | namespace rime { 17 | 18 | class ComponentBase; 19 | 20 | class Registry { 21 | public: 22 | typedef std::map ComponentMap; 23 | 24 | ComponentBase* Find(const std::string& name); 25 | void Register(const std::string& name, ComponentBase *component); 26 | void Unregister(const std::string& name); 27 | void Clear(); 28 | 29 | static Registry& instance() { 30 | if (!instance_) instance_.reset(new Registry); 31 | return *instance_; 32 | } 33 | 34 | private: 35 | Registry() {} 36 | static scoped_ptr instance_; 37 | 38 | ComponentMap map_; 39 | }; 40 | 41 | } // namespace rime 42 | 43 | #endif // RIME_REGISTRY_H_ 44 | -------------------------------------------------------------------------------- /librime/include/rime/segmentor.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-05-15 GONG Chen 8 | // 9 | #ifndef RIME_SEGMENTOR_H_ 10 | #define RIME_SEGMENTOR_H_ 11 | 12 | #include 13 | 14 | namespace rime { 15 | 16 | class Engine; 17 | class Segmentation; 18 | 19 | class Segmentor : public Class { 20 | public: 21 | explicit Segmentor(Engine *engine) : engine_(engine) {} 22 | virtual ~Segmentor() {} 23 | 24 | virtual bool Proceed(Segmentation *segmentation) = 0; 25 | 26 | protected: 27 | Engine *engine_; 28 | }; 29 | 30 | } // namespace rime 31 | 32 | #endif // RIME_SEGMENTOR_H_ 33 | -------------------------------------------------------------------------------- /librime/include/rime/translator.h: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-05-02 Wensong He 8 | // 9 | 10 | #ifndef RIME_TRANSLATOR_H_ 11 | #define RIME_TRANSLATOR_H_ 12 | 13 | #include 14 | #include 15 | 16 | namespace rime { 17 | 18 | class Context; 19 | class Engine; 20 | struct Segment; 21 | class Translation; 22 | 23 | class Translator : public Class { 24 | public: 25 | Translator(Engine *engine) : engine_(engine) {} 26 | virtual ~Translator() {} 27 | 28 | virtual shared_ptr Query(const std::string &input, 29 | const Segment &segment, 30 | std::string* prompt = NULL) = 0; 31 | 32 | protected: 33 | Engine *engine_; 34 | }; 35 | 36 | } // namespace rime 37 | 38 | #endif // RIME_TRANSLATOR_H_ 39 | 40 | 41 | -------------------------------------------------------------------------------- /librime/include/rime_version.h: -------------------------------------------------------------------------------- 1 | /* vim: set sts=2 sw=2 et: 2 | * encoding: utf-8 3 | * 4 | * Copyleft 2011 RIME Developers 5 | * License: GPLv3 6 | * 7 | * 2011-12-04 GONG Chen 8 | */ 9 | #ifndef RIME_VERSION_H_ 10 | #define RIME_VERSION_H_ 11 | 12 | #define RIME_VERSION "0.9.2" 13 | 14 | #endif // RIME_VERSION_H_ 15 | -------------------------------------------------------------------------------- /librime/rime.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | 6 | Name: Rime 7 | Description: Rime Input Method Engine 8 | Version: @version@ 9 | Cflags: -I${includedir} 10 | Libs: -L${libdir} -lrime 11 | -------------------------------------------------------------------------------- /librime/shell.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | if exist env.bat call env.bat 3 | set OLD_PATH=%PATH% 4 | if defined DEV_PATH set PATH=%OLD_PATH%;%DEV_PATH% 5 | rem %comspec% 6 | rem %comspec% /k ""C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" x86 7 | %comspec% /k ""C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86 8 | -------------------------------------------------------------------------------- /librime/src/expl/signature.cc: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2012 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2012-02-21 GONG Chen 8 | // 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | namespace rime { 17 | 18 | bool Signature::Sign(Config* config, Deployer* deployer) { 19 | if (!config) return false; 20 | config->SetString("customization/generator", generator_); 21 | time_t now = time(NULL); 22 | std::string time_str(ctime(&now)); 23 | boost::trim(time_str); 24 | config->SetString("customization/modified_time", time_str); 25 | config->SetString("customization/distribution_code_name", 26 | deployer->distribution_code_name); 27 | config->SetString("customization/distribution_version", 28 | deployer->distribution_version); 29 | config->SetString("customization/rime_version", 30 | RIME_VERSION); 31 | return true; 32 | } 33 | 34 | } // namespace rime 35 | -------------------------------------------------------------------------------- /librime/src/impl/ascii_segmentor.cc: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-12-18 GONG Chen 8 | // 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | namespace rime { 18 | 19 | AsciiSegmentor::AsciiSegmentor(Engine *engine) : Segmentor(engine) { 20 | } 21 | 22 | bool AsciiSegmentor::Proceed(Segmentation *segmentation) { 23 | if (!engine_->context()->get_option("ascii_mode")) 24 | return true; 25 | const std::string &input = segmentation->input(); 26 | EZDBGONLYLOGGERVAR(input); 27 | size_t j = segmentation->GetCurrentStartPosition(); 28 | if (j < input.length()) { 29 | Segment segment; 30 | segment.start = j; 31 | segment.end = input.length(); 32 | segment.tags.insert("raw"); 33 | segmentation->AddSegment(segment); 34 | } 35 | return false; // end of segmentation 36 | } 37 | 38 | } // namespace rime 39 | -------------------------------------------------------------------------------- /librime/src/translation.cc: -------------------------------------------------------------------------------- 1 | // vim: set sts=2 sw=2 et: 2 | // encoding: utf-8 3 | // 4 | // Copyleft 2011 RIME Developers 5 | // License: GPLv3 6 | // 7 | // 2011-05-21 GONG Chen 8 | // 9 | #include 10 | #include 11 | 12 | namespace rime { 13 | 14 | int Translation::Compare(shared_ptr other, 15 | const CandidateList &candidates) { 16 | if (!other || other->exhausted()) return -1; 17 | if (exhausted()) return 1; 18 | shared_ptr ours = Peek(); 19 | shared_ptr theirs = other->Peek(); 20 | if (!ours) return 1; 21 | if (!theirs) return -1; 22 | int k = 0; 23 | // the one nearer to the beginning of segment comes first 24 | k = ours->start() - theirs->start(); 25 | if (k != 0) return k; 26 | // then the longer comes first 27 | k = ours->end() - theirs->end(); 28 | if (k != 0) return -k; 29 | // draw 30 | return 0; 31 | } 32 | 33 | } // namespace rime 34 | -------------------------------------------------------------------------------- /librime/test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | aux_source_directory(. RIME_TEST_SRC) 2 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/test) 3 | add_executable(rime_test ${RIME_TEST_SRC}) 4 | target_link_libraries(rime_test 5 | rime 6 | ${GTEST_LIBRARIES}) 7 | add_dependencies(rime_test rime) 8 | 9 | file(COPY ${PROJECT_SOURCE_DIR}/data/config_test.yaml 10 | DESTINATION ${EXECUTABLE_OUTPUT_PATH}) 11 | file(COPY ${PROJECT_SOURCE_DIR}/data/dictionary_test.yaml 12 | DESTINATION ${EXECUTABLE_OUTPUT_PATH}) 13 | 14 | if(NOT MSVC AND NOT XCODE_VERSION) 15 | set(RIME_TEST_EXECUTABLE ${EXECUTABLE_OUTPUT_PATH}/rime_test${EXT}) 16 | add_custom_command(TARGET rime_test 17 | POST_BUILD 18 | COMMAND ${RIME_TEST_EXECUTABLE} 19 | WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}) 20 | endif(NOT MSVC AND NOT XCODE_VERSION) 21 | -------------------------------------------------------------------------------- /librime/test/rime_test_main.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main(int argc, char **argv) { 5 | testing::InitGoogleTest(&argc, argv); 6 | rime::RegisterComponents(); 7 | return RUN_ALL_TESTS(); 8 | } 9 | -------------------------------------------------------------------------------- /librime/thirdparty/include/ezlogger/ezlogger_headers.hpp: -------------------------------------------------------------------------------- 1 | #ifndef EZLOGGER_HEADERS_HPP_HEADER_GRD_ 2 | #define EZLOGGER_HEADERS_HPP_HEADER_GRD_ 3 | 4 | /*! @file ezlogger_headers.hpp 5 | @brief ezlogger_headers.hpp includes all the default policies for ezlogger. 6 | @section Description 7 | Include this header to get all the required default headers to perform logging. 8 | To replace one or more policies, the developer should create a similar header list, 9 | and replace the header for the target policies with the custom policies. 10 | */ 11 | 12 | #include "ezlogger_misc.hpp" 13 | #include "ezlogger_output_policy.hpp" 14 | #include "ezlogger_format_policy.hpp" 15 | #include "ezlogger_verbosity_level_policy.hpp" 16 | #include "ezlogger.hpp" 17 | #include "ezlogger_macros.hpp" 18 | 19 | #endif //EZLOGGER_HEADERS_HPP_HEADER_GRD_ 20 | -------------------------------------------------------------------------------- /misc/boost_minimal_build_for_weasel.bat: -------------------------------------------------------------------------------- 1 | rem bjam toolset=msvc-9.0 variant=release link=static threading=multi runtime-link=static stage --with-date_time --with-filesystem --with-system --with-regex --with-signals --with-thread 2 | rem bjam toolset=msvc-9.0 variant=release link=static threading=multi runtime-link=static address-model=64 --stagedir=stage_x64 stage --with-date_time --with-filesystem --with-system --with-regex --with-signals --with-thread 3 | bjam toolset=msvc-10.0 variant=release link=static threading=multi runtime-link=static stage --with-date_time --with-filesystem --with-system --with-regex --with-signals --with-thread 4 | bjam toolset=msvc-10.0 variant=release link=static threading=multi runtime-link=static address-model=64 --stagedir=stage_x64 stage --with-date_time --with-filesystem --with-system --with-regex --with-signals --with-thread 5 | -------------------------------------------------------------------------------- /misc/gtest_1.5_mingw_hack.patch: -------------------------------------------------------------------------------- 1 | 59c59,61 2 | < find_package(Threads) 3 | --- 4 | > #find_package(Threads) 5 | > set(CMAKE_USE_PTHREADS_INIT false) 6 | > set(CMAKE_THREAD_LIBS_INIT false) 7 | -------------------------------------------------------------------------------- /misc/kyotocabinet-1.2.70-vs2008-patch/zlib.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/kyotocabinet-1.2.70-vs2008-patch/zlib.lib -------------------------------------------------------------------------------- /misc/kyotocabinet-1.2.70-vs2008-patch/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/kyotocabinet-1.2.70-vs2008-patch/zlib1.dll -------------------------------------------------------------------------------- /misc/kyotocabinet-1.2.70-vs2010-patch/zlib.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/kyotocabinet-1.2.70-vs2010-patch/zlib.lib -------------------------------------------------------------------------------- /misc/kyotocabinet-1.2.70-vs2010-patch/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/kyotocabinet-1.2.70-vs2010-patch/zlib1.dll -------------------------------------------------------------------------------- /misc/mingw_workspace_setup/7za.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/mingw_workspace_setup/7za.exe -------------------------------------------------------------------------------- /misc/mingw_workspace_setup/curl.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/mingw_workspace_setup/curl.exe -------------------------------------------------------------------------------- /misc/mingw_workspace_setup/mingw-get-inst-20110316.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/mingw_workspace_setup/mingw-get-inst-20110316.exe -------------------------------------------------------------------------------- /misc/opencc/README.txt: -------------------------------------------------------------------------------- 1 | Open Chinese Convert 2 | 開放中文轉換 3 | 4 | An opensource project for conversion between Traditional Chinese and Simplified Chinese, supporting character-level conversion, phrase-level conversion, variant conversion and regional idioms among Mainland China, Taiwan and Hong kong. 5 | 6 | 中文簡繁轉換開源項目,支持詞彙級别的轉換、異體字轉換和地區習慣用詞轉換(中國大陸、臺灣、香港)。 7 | 8 | http://code.google.com/p/opencc/ 9 | -------------------------------------------------------------------------------- /misc/opencc/data/mix2zhs.ini: -------------------------------------------------------------------------------- 1 | ; Open Chinese Convert 2 | ; 3 | ; Copyright 2010-2013 BYVoid 4 | ; 5 | ; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ; you may not use this file except in compliance with the License. 7 | ; You may obtain a copy of the License at 8 | ; 9 | ; http://www.apache.org/licenses/LICENSE-2.0 10 | ; 11 | ; Unless required by applicable law or agreed to in writing, software 12 | ; distributed under the License is distributed on an "AS IS" BASIS, 13 | ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ; See the License for the specific language governing permissions and 15 | ; limitations under the License. 16 | 17 | title = mix_to_simp 18 | description = Standard Configuration for Conversion from Simplified-Traditional-Mixed Chinese to Simplified Chinese 19 | dict0 = OCD simp_to_trad_characters.ocd 20 | dict1 = OCD trad_to_simp_phrases.ocd 21 | dict1 = OCD trad_to_simp_characters.ocd 22 | -------------------------------------------------------------------------------- /misc/opencc/data/mix2zht.ini: -------------------------------------------------------------------------------- 1 | ; Open Chinese Convert 2 | ; 3 | ; Copyright 2010-2013 BYVoid 4 | ; 5 | ; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ; you may not use this file except in compliance with the License. 7 | ; You may obtain a copy of the License at 8 | ; 9 | ; http://www.apache.org/licenses/LICENSE-2.0 10 | ; 11 | ; Unless required by applicable law or agreed to in writing, software 12 | ; distributed under the License is distributed on an "AS IS" BASIS, 13 | ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ; See the License for the specific language governing permissions and 15 | ; limitations under the License. 16 | 17 | title = mix_to_trad 18 | description = Standard Configuration for Conversion from Simplified-Traditional-Mixed Chinese to Traditional Chinese 19 | dict0 = OCD trad_to_simp_characters.ocd 20 | dict1 = OCD simp_to_trad_phrases.ocd 21 | dict1 = OCD simp_to_trad_characters.ocd 22 | -------------------------------------------------------------------------------- /misc/opencc/data/simp_to_trad_characters.ocd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/opencc/data/simp_to_trad_characters.ocd -------------------------------------------------------------------------------- /misc/opencc/data/simp_to_trad_phrases.ocd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/opencc/data/simp_to_trad_phrases.ocd -------------------------------------------------------------------------------- /misc/opencc/data/trad_to_simp_characters.ocd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/opencc/data/trad_to_simp_characters.ocd -------------------------------------------------------------------------------- /misc/opencc/data/trad_to_simp_phrases.ocd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/opencc/data/trad_to_simp_phrases.ocd -------------------------------------------------------------------------------- /misc/opencc/data/zhs2zht.ini: -------------------------------------------------------------------------------- 1 | ; Open Chinese Convert 2 | ; 3 | ; Copyright 2010-2013 BYVoid 4 | ; 5 | ; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ; you may not use this file except in compliance with the License. 7 | ; You may obtain a copy of the License at 8 | ; 9 | ; http://www.apache.org/licenses/LICENSE-2.0 10 | ; 11 | ; Unless required by applicable law or agreed to in writing, software 12 | ; distributed under the License is distributed on an "AS IS" BASIS, 13 | ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ; See the License for the specific language governing permissions and 15 | ; limitations under the License. 16 | 17 | title = simp_to_trad 18 | description = Standard Configuration for Conversion from Simplified Chinese to Traditional Chinese 19 | dict0 = OCD simp_to_trad_phrases.ocd 20 | dict0 = OCD simp_to_trad_characters.ocd 21 | -------------------------------------------------------------------------------- /misc/opencc/data/zht2zhs.ini: -------------------------------------------------------------------------------- 1 | ; Open Chinese Convert 2 | ; 3 | ; Copyright 2010-2013 BYVoid 4 | ; 5 | ; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ; you may not use this file except in compliance with the License. 7 | ; You may obtain a copy of the License at 8 | ; 9 | ; http://www.apache.org/licenses/LICENSE-2.0 10 | ; 11 | ; Unless required by applicable law or agreed to in writing, software 12 | ; distributed under the License is distributed on an "AS IS" BASIS, 13 | ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ; See the License for the specific language governing permissions and 15 | ; limitations under the License. 16 | 17 | title = trad_to_simp 18 | description = Standard Configuration for Conversion from Traditional Chinese to Simplified Chinese 19 | dict0 = OCD trad_to_simp_phrases.ocd 20 | dict0 = OCD trad_to_simp_characters.ocd 21 | -------------------------------------------------------------------------------- /misc/opencc/generate_vc_lib_file.bat: -------------------------------------------------------------------------------- 1 | rem this generates opencc.def and opencc.lib for linking to opencc.dll in msvc 2 | rem mingw and msvc command line tools are needed here 3 | pexports opencc.dll -o > opencc.def 4 | lib /machine:ix86 /def:opencc.def 5 | -------------------------------------------------------------------------------- /misc/opencc/opencc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/opencc/opencc.dll -------------------------------------------------------------------------------- /misc/opencc/opencc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/opencc/opencc.exe -------------------------------------------------------------------------------- /misc/opencc/opencc_dict.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/opencc/opencc_dict.exe -------------------------------------------------------------------------------- /misc/opencc/test/test.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | copy ..\opencc.dll . 3 | copy ..\opencc.h . 4 | copy ..\opencc_types.h . 5 | copy ..\vc10\*.* . 6 | cl test_opencc.cc opencc.lib /I ..\..\..\librime\thirdparty\include 7 | if ERRORLEVEL 1 goto ERROR 8 | test_opencc < test_input.hant > test_output.hans 9 | if ERRORLEVEL 1 goto ERROR 10 | notepad test_output.hans 11 | goto END 12 | :ERROR 13 | echo "Error happend, sigh." 14 | :END 15 | 16 | -------------------------------------------------------------------------------- /misc/opencc/test/test_input.hant: -------------------------------------------------------------------------------- 1 | 我看到我聽到我聞到 2 | 是不是你說的 3 | 後來呢? 4 | 干 5 | 幹 6 | 乾 7 | 乾乾 8 | 乾坤 9 | 餅乾 10 | 乾餅乾 11 | -------------------------------------------------------------------------------- /misc/opencc/test/zht2zhs.ini: -------------------------------------------------------------------------------- 1 | ; Open Chinese Convert 2 | ; 3 | ; Copyright 2010 BYVoid 4 | ; 5 | ; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ; you may not use this file except in compliance with the License. 7 | ; You may obtain a copy of the License at 8 | ; 9 | ; http://www.apache.org/licenses/LICENSE-2.0 10 | ; 11 | ; Unless required by applicable law or agreed to in writing, software 12 | ; distributed under the License is distributed on an "AS IS" BASIS, 13 | ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ; See the License for the specific language governing permissions and 15 | ; limitations under the License. 16 | 17 | title = trad_to_simp 18 | description = Standard Configuration for Conversion from Traditional Chinese to Simplified Chinese 19 | dict0 = OCD ../data/trad_to_simp_phrases.ocd 20 | dict0 = OCD ../data/trad_to_simp_characters.ocd 21 | -------------------------------------------------------------------------------- /misc/opencc/vc10/opencc.def: -------------------------------------------------------------------------------- 1 | LIBRARY opencc.dll 2 | EXPORTS 3 | opencc_close @1 4 | opencc_convert @2 5 | opencc_convert_utf8 @3 6 | opencc_dict_load @4 7 | opencc_errno @5 8 | opencc_open @6 9 | opencc_perror @7 10 | opencc_set_conversion_mode @8 11 | -------------------------------------------------------------------------------- /misc/opencc/vc10/opencc.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/opencc/vc10/opencc.exp -------------------------------------------------------------------------------- /misc/opencc/vc10/opencc.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/opencc/vc10/opencc.lib -------------------------------------------------------------------------------- /misc/schema-package-sample/README.txt: -------------------------------------------------------------------------------- 1 | 0. 這套工具幫你把第三方輸入方案製作成安裝程序 2 | 1. 安裝 NSIS (nsis-2.46.3-Unicode-setup.exe) 3 | 2. 將要分發的輸入方案及詞典 (*.schema.yaml, *.dict.yaml) 置於 data 目錄中 4 | 3. 編輯 product.nsi,修改 TODO 部份 5 | 4. 右擊 product.nsi,選擇「Compile Unicode NSIS Script」製作安裝程序 6 | 5. 檢查 NSIS 輸出結果,若有錯誤,回到 3. 7 | 6. 測試安裝程序;輸入方案會部署到小狼毫的用戶目錄 8 | 7. 分發生成的安裝程序;用戶不需要安裝NSIS,但需要事先安裝小狼毫輸入法 9 | -------------------------------------------------------------------------------- /misc/schema-package-sample/product.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/misc/schema-package-sample/product.ico -------------------------------------------------------------------------------- /partners/aoyu/appcast.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 樂清話拼音輸入法更新 5 | http://rimeime.googlecode.com/svn/trunk/partners/aoyu/appcast.xml 6 | 樂清話拼音輸入法Appcast更新頻道 7 | zh 8 | 9 | 樂清話拼音輸入法 1.2 10 | http://rimeime.googlecode.com/svn/trunk/partners/aoyu/release-notes.html 11 | Mon, 10 Feb 2013 00:00:00 +0800 12 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /partners/aoyu/release-notes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |

樂清話拼音輸入法 1.2

7 |
8 |

更新日期:2014-02-10

9 |
    10 |
  • 新增輸入方案:樂清話柳西口音

  • 11 |
  • 更新輸入方案:樂清話柳東口音

  • 12 |
13 | 14 |

樂清話拼音輸入法 1.0

15 |
16 |

更新日期:2013-05-12

17 |
    18 |
  • 新增輸入方案:樂清話柳東口音

  • 19 |
20 | 21 |
22 |

輸入法功能說明

23 |

RIME 主頁

24 | 25 | -------------------------------------------------------------------------------- /squirrel/.gitignore: -------------------------------------------------------------------------------- 1 | Squirrel.xcodeproj/*.mode1v3 2 | Squirrel.xcodeproj/*.pbxuser 3 | build 4 | lib/*.a 5 | package 6 | *~ 7 | .*.swp 8 | -------------------------------------------------------------------------------- /squirrel/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | NSHumanReadableCopyright = "Copyleft 2012, RIME Developers"; 4 | 5 | CFBundleName = "Squirrel"; 6 | CFBundleDisplayName = "Squirrel"; 7 | -------------------------------------------------------------------------------- /squirrel/English.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/English.lproj/Localizable.strings -------------------------------------------------------------------------------- /squirrel/Makefile: -------------------------------------------------------------------------------- 1 | all: debug 2 | 3 | librime: 4 | mkdir -p ../librime/xbuild 5 | cd ../librime/xbuild; cmake -G Xcode -DBUILD_STATIC=ON .. 6 | cd ../librime/xbuild; xcodebuild -project rime.xcodeproj -configuration Debug build 7 | 8 | librime-release: 9 | mkdir -p ../librime/xbuild 10 | cd ../librime/xbuild; cmake -G Xcode -DBUILD_STATIC=ON .. 11 | cd ../librime/xbuild; xcodebuild -project rime.xcodeproj -configuration Release build 12 | 13 | release: 14 | xcodebuild -project Squirrel.xcodeproj -configuration Release build 15 | rm -f build/Squirrel.app 16 | cd build ; ln -s Release/Squirrel.app Squirrel.app 17 | 18 | debug: 19 | xcodebuild -project Squirrel.xcodeproj -configuration Debug build 20 | rm -f build/Squirrel.app 21 | cd build ; ln -s Debug/Squirrel.app Squirrel.app 22 | 23 | install: 24 | rm -rf "/Library/Input Methods/Squirrel.app" 25 | cp -R build/Debug/Squirrel.app "/Library/Input Methods" 26 | # "/Library/Input Methods/Squirrel.app/Contents/Resources/postflight" 27 | 28 | install-release: 29 | rm -rf "/Library/Input Methods/Squirrel.app" 30 | cp -R build/Release/Squirrel.app "/Library/Input Methods" 31 | "/Library/Input Methods/Squirrel.app/Contents/Resources/postflight" 32 | 33 | clean: 34 | rm -rf build 35 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Sparkle: -------------------------------------------------------------------------------- 1 | Versions/Current/Sparkle -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Headers/SUAppcast.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUAppcast.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/12/06. 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUAPPCAST_H 10 | #define SUAPPCAST_H 11 | 12 | @class SUAppcastItem; 13 | @interface SUAppcast : NSObject { 14 | NSArray *items; 15 | NSString *userAgentString; 16 | id delegate; 17 | NSMutableData *incrementalData; 18 | } 19 | 20 | - (void)fetchAppcastFromURL:(NSURL *)url; 21 | - (void)setDelegate:delegate; 22 | - (void)setUserAgentString:(NSString *)userAgentString; 23 | 24 | - (NSArray *)items; 25 | 26 | @end 27 | 28 | @interface NSObject (SUAppcastDelegate) 29 | - (void)appcastDidFinishLoading:(SUAppcast *)appcast; 30 | - (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error; 31 | @end 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUVersionComparisonProtocol.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 12/21/07. 6 | // Copyright 2007 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUVERSIONCOMPARISONPROTOCOL_H 10 | #define SUVERSIONCOMPARISONPROTOCOL_H 11 | 12 | /*! 13 | @protocol 14 | @abstract Implement this protocol to provide version comparison facilities for Sparkle. 15 | */ 16 | @protocol SUVersionComparison 17 | 18 | /*! 19 | @method 20 | @abstract An abstract method to compare two version strings. 21 | @discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent. 22 | */ 23 | - (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; 24 | 25 | @end 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Headers/Sparkle.h: -------------------------------------------------------------------------------- 1 | // 2 | // Sparkle.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07) 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SPARKLE_H 10 | #define SPARKLE_H 11 | 12 | // This list should include the shared headers. It doesn't matter if some of them aren't shared (unless 13 | // there are name-space collisions) so we can list all of them to start with: 14 | 15 | #import 16 | 17 | #import 18 | #import 19 | #import 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | Sparkle 9 | CFBundleIdentifier 10 | org.andymatuschak.Sparkle 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | Sparkle 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.5 Beta 6 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 313 23 | 24 | 25 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2006 Andy Matuschak 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 10A96 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 658 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9C7010 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 18 14 | 15 | IBSystem Version 16 | 10A96 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 41 15 | 16 | IBSystem Version 17 | 10A96 18 | targetFramework 19 | IBCocoaFramework 20 | 21 | 22 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9D34 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9E17 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9E17 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/fr.lproj/fr.lproj: -------------------------------------------------------------------------------- 1 | /Users/andym/Development/Build Products/Release/Sparkle.framework/Resources/fr.lproj -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/fr_CA.lproj: -------------------------------------------------------------------------------- 1 | /Users/andym/Development/Build Products/Release/Sparkle.framework/Resources/fr.lproj -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 5 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | 6 12 | 13 | IBSystem Version 14 | 9D34 15 | targetFramework 16 | IBCocoaFramework 17 | 18 | 19 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9E17 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9E17 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/relaunch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/relaunch -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9E17 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9E17 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | IBSystem Version 14 | 9E17 15 | targetFramework 16 | IBCocoaFramework 17 | 18 | 19 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 10A96 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | { 2 | IBClasses = ( 3 | { 4 | CLASS = FirstResponder; 5 | LANGUAGE = ObjC; 6 | SUPERCLASS = NSObject; 7 | }, 8 | { 9 | CLASS = NSApplication; 10 | LANGUAGE = ObjC; 11 | SUPERCLASS = NSResponder; 12 | }, 13 | { 14 | CLASS = NSObject; 15 | LANGUAGE = ObjC; 16 | }, 17 | { 18 | ACTIONS = { 19 | installUpdate = id; 20 | remindMeLater = id; 21 | skipThisVersion = id; 22 | }; 23 | CLASS = SUUpdateAlert; 24 | LANGUAGE = ObjC; 25 | OUTLETS = { 26 | delegate = id; 27 | description = NSTextField; 28 | releaseNotesView = WebView; 29 | }; 30 | SUPERCLASS = SUWindowController; 31 | }, 32 | { 33 | CLASS = SUWindowController; 34 | LANGUAGE = ObjC; 35 | SUPERCLASS = NSWindowController; 36 | } 37 | ); 38 | IBVersion = 1; 39 | } -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBDocumentLocation 6 | 69 14 356 240 0 0 1280 778 7 | IBFramework Version 8 | 489.0 9 | IBLastKnownRelativeProjectPath 10 | ../Sparkle.xcodeproj 11 | IBOldestOS 12 | 5 13 | IBSystem Version 14 | 9D34 15 | targetFramework 16 | IBCocoaFramework 17 | 18 | 19 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 10A96 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/A/Sparkle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/Sparkle.framework/Versions/A/Sparkle -------------------------------------------------------------------------------- /squirrel/Sparkle.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /squirrel/SquirrelApplicationDelegate.h: -------------------------------------------------------------------------------- 1 | 2 | #import 3 | #import "SquirrelPanel.h" 4 | 5 | // Note: the SquirrelApplicationDelegate is instantiated automatically as an outlet of NSApp's instance 6 | @interface SquirrelApplicationDelegate : NSObject 7 | { 8 | IBOutlet NSMenu* _menu; 9 | IBOutlet SquirrelPanel* _panel; 10 | IBOutlet id _updater; 11 | 12 | // global options 13 | BOOL _useUSKeyboardLayout; 14 | } 15 | 16 | -(NSMenu*)menu; 17 | -(SquirrelPanel*)panel; 18 | -(id)updater; 19 | -(BOOL)useUSKeyboardLayout; 20 | 21 | -(IBAction)deploy:(id)sender; 22 | -(IBAction)configure:(id)sender; 23 | -(IBAction)openWiki:(id)sender; 24 | 25 | -(void)startRimeWithFullCheck:(BOOL)fullCheck; 26 | -(void)loadSquirrelConfig; 27 | -(BOOL)problematicLaunchDetected; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /squirrel/SquirrelInputController.h: -------------------------------------------------------------------------------- 1 | 2 | #import 3 | #import 4 | #import 5 | 6 | @interface SquirrelInputController : IMKInputController { 7 | id _currentClient; // the current active client 8 | NSString *_preeditString; // the cached preedit string 9 | NSArray *_candidates; 10 | NSUInteger _lastModifier; 11 | NSEventType _lastEventType; 12 | RimeSessionId _session; 13 | } 14 | 15 | -(void)commitString:(NSString*)string; 16 | -(void)showPreeditString:(NSString*)string 17 | selRange:(NSRange)range 18 | caretPos:(NSUInteger)pos; 19 | -(void)showCandidates:(NSArray*)candidates 20 | andComments:(NSArray*)comments 21 | withLabels:(NSString*)labels 22 | highlighted:(NSUInteger)index; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /squirrel/SquirrelPanel.h: -------------------------------------------------------------------------------- 1 | // 2 | // SquirrelPanel.h 3 | // Squirrel 4 | // 5 | // Created by 弓辰 on 2012/2/13. 6 | // Copyright 2012 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | typedef struct { 12 | BOOL horizontal; 13 | NSString* fontName; 14 | int fontSize; 15 | double alpha; 16 | double cornerRadius; 17 | double borderHeight; 18 | double borderWidth; 19 | NSString *backgroundColor; 20 | NSString *candidateTextColor; 21 | NSString *highlightedCandidateTextColor; 22 | NSString *highlightedCandidateBackColor; 23 | NSString *commentTextColor; 24 | } SquirrelUIStyle; 25 | 26 | @interface SquirrelPanel : NSObject { 27 | NSRect _position; 28 | NSWindow* _window; 29 | NSView* _view; 30 | NSMutableDictionary* _attrs; 31 | NSMutableDictionary* _highlightedAttrs; 32 | NSMutableDictionary* _commentAttrs; 33 | BOOL _horizontal; 34 | } 35 | 36 | -(void)show; 37 | -(void)hide; 38 | -(void)updatePosition:(NSRect)caretPos; 39 | -(void)updateCandidates:(NSArray*)candidates 40 | andComments:(NSArray*)comments 41 | withLabels:(NSString*)labels 42 | highlighted:(NSUInteger)index; 43 | -(void)updateUIStyle:(SquirrelUIStyle*)style; 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /squirrel/Squirrel_Prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #endif 4 | -------------------------------------------------------------------------------- /squirrel/data/opencc/to_tw_variants.txt: -------------------------------------------------------------------------------- 1 | 僞 偽 2 | 兇 凶 3 | 啓 啟 4 | 囱 囪 5 | 嬀 媯 6 | 棱 稜 7 | 污 汙 8 | 泄 洩 9 | 涌 湧 10 | 潙 溈 11 | 爲 為 12 | 牀 床 13 | 着 著 14 | 竈 灶 15 | 羣 群 16 | 衆 眾 17 | 裏 裡 18 | 踊 踴 19 | 鷄 雞 20 | 麪 麵 21 | 麯 麴 22 | 覈 核 -------------------------------------------------------------------------------- /squirrel/data/opencc/trad_to_simp_characters.ocd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/data/opencc/trad_to_simp_characters.ocd -------------------------------------------------------------------------------- /squirrel/data/opencc/trad_to_simp_phrases.ocd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/data/opencc/trad_to_simp_phrases.ocd -------------------------------------------------------------------------------- /squirrel/data/opencc/zht2zhs.ini: -------------------------------------------------------------------------------- 1 | ; Open Chinese Convert 2 | ; 3 | ; Copyright 2010 BYVoid 4 | ; 5 | ; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ; you may not use this file except in compliance with the License. 7 | ; You may obtain a copy of the License at 8 | ; 9 | ; http://www.apache.org/licenses/LICENSE-2.0 10 | ; 11 | ; Unless required by applicable law or agreed to in writing, software 12 | ; distributed under the License is distributed on an "AS IS" BASIS, 13 | ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ; See the License for the specific language governing permissions and 15 | ; limitations under the License. 16 | 17 | title = trad_to_simp 18 | description = Standard Configuration for Conversion from Traditional Chinese to Simplified Chinese 19 | dict0 = OCD opencc/trad_to_simp_phrases.ocd 20 | dict0 = OCD opencc/trad_to_simp_characters.ocd 21 | -------------------------------------------------------------------------------- /squirrel/data/opencc/zht2zhtw_v.ini: -------------------------------------------------------------------------------- 1 | ; Open Chinese Convert 2 | ; 3 | ; Copyright 2011 BYVoid 4 | ; 5 | ; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ; you may not use this file except in compliance with the License. 7 | ; You may obtain a copy of the License at 8 | ; 9 | ; http://www.apache.org/licenses/LICENSE-2.0 10 | ; 11 | ; Unless required by applicable law or agreed to in writing, software 12 | ; distributed under the License is distributed on an "AS IS" BASIS, 13 | ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ; See the License for the specific language governing permissions and 15 | ; limitations under the License. 16 | 17 | title = trad_to_taiwan_variants 18 | description = from Traditional to variants of Taiwan 19 | dict0 = TEXT opencc/to_tw_variants.txt 20 | -------------------------------------------------------------------------------- /squirrel/dsa_pub.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIDOjCCAi0GByqGSM44BAEwggIgAoIBAQCLZ3CD0hYkkyqUWAJgCfBj0Rqll2JW 3 | 2c2lLVaRjSTT8t0PDMA+dsf71fqBFgf+dJ7zw6mHQ333sPvpe2TgZ1L1KrTlE+Em 4 | OpHhM1a8TMJncS1TIhyA1zOpgn6NLUftDOp0la2BLtkknsUKVzcpkS0j75VKvtK8 5 | r1RGpljvx1PID/Hu5gVaB/M6HckVGYkhgle29gv4aVpCGdklrHx6CQJ188HpgfIk 6 | UWqqoVJTQCAnCl681OI128xT2yoLITHLnEIhqzcF04WPoIS6FEBGVzabXqm4PcF4 7 | gYvK1aGz5MeYmF/jrILuLnI2wTCA0a7jsTcs0IfGcwHc8zbvaluIpEsxAhUAvfS1 8 | /crimKeoMwmW/caDDCL2F5UCggEAE2EzijeeLGluuhSWRcjJ/yKmkdFvGjaIpsPm 9 | D4bAYNUJQGW4qqniEfBMMMxLHKEIL5Tl5jY+EYloA17YUTk5HQbgX8fXLtd8uQHA 10 | zlafKR2N0ZLwGvDLnwWXSowpvQVOgZPD9/q52P1aVJ2/Ek/gNMJPIGnIy/36CF8o 11 | aSzbpbHcPbPSrTjEpzC7aelHVAdHV4520diO34NjA72BKkZV4DPRSBVcIr0y4bwQ 12 | pSD0CMdld8Vm/wZOTyx59CMPtoI6APVadR7pD04SaOfFx4ubXdHL5uH4uuqRZrWZ 13 | pA11/qfMzYqzwn6d7L6lz/0L3C/a25jrSHhoR6WuEJF0/bXpIwOCAQUAAoIBACoU 14 | ydicX3v9p20qmm6X86nm5RylB+5CR17Ioj8w7izjYIxsxzBYcamcPW/8QMD0lppf 15 | TnXp0wAET0zZCueduWN+I6mFcwO2ae5ZuqDKZcsX/ngww3vke9Iq7vphocpJIRnb 16 | Ds4gADszsJsIlVvRRSsQOSM8nTlqGZ6SGDyXhtQB6CGOR4zOJPjI/31B/70qXtGw 17 | GQZ1CkWkzzEJsYUEEfzuItGlhRJORsJp2nThArlK0i433C1rqAIZ1rNq04xE3UF5 18 | 9bPbDfJu3mYopQzz2y9z2Q1b2joMV3WFNpwJFtBEg92/T3CSOw1g4kdJOeGvuei+ 19 | ZsuKlFnDmMCSJqPgr0w= 20 | -----END PUBLIC KEY----- 21 | -------------------------------------------------------------------------------- /squirrel/postflight: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | RIME_SHARED_DATA_PATH="/Library/Input Methods/Squirrel.app/Contents/SharedSupport" 3 | echo "RIME_SHARED_DATA_PATH=$RIME_SHARED_DATA_PATH" 4 | say "precompiling Rime schemas. patience..." 5 | ( 6 | cd "$RIME_SHARED_DATA_PATH"; 7 | ../MacOS/Squirrel --build; 8 | if [ -e rime.log ]; then rm rime.log; fi 9 | if [ -e installation.yaml ]; then rm installation.yaml; fi 10 | ) 11 | -------------------------------------------------------------------------------- /squirrel/rime.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/rime.icns -------------------------------------------------------------------------------- /squirrel/update/appcast.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 【鼠鬚管】輸入法更新 5 | http://rimeime.github.io/squirrel-update/appcast.xml 6 | 鼠鬚管Appcast更新頻道 7 | zh 8 | 9 | 鼠鬚管 0.9.20.4 10 | http://rimeime.github.io/squirrel-update/ 11 | Thu, 25 Jul 2013 12:00:00 +0800 12 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /squirrel/update/release-notes.html: -------------------------------------------------------------------------------- 1 | 

【鼠鬚管】更新日誌

2 | 3 |
4 | 5 |

鼠鬚管 0.9.20.4 <2013-07-25>

6 | 7 |
    8 |
  • 新增:支持全角模式

  • 9 |
  • 新增:【倉頡】按快趣取碼規則生成常用詞組

  • 10 |
  • 更新:拼音、粵拼、中古漢語等輸入方案、繁簡轉換詞典

  • 11 |
  • 修復:大陸與臺灣異讀的字「微」「檔」「蝸」「垃圾」等

  • 12 |
  • 變更:設置 show_notifications_when: never 不再提示輸入法狀態

  • 13 |
  • 修復:原生配色方案候選序號顏色不正確

  • 14 |
  • 修復:自定義中西文切換鍵 Control+space 無法切回中文模式

  • 15 |
  • 修復:【地球拼音】「-」鍵輸入第一聲失效的BUG

  • 16 |
  • 更新:symbols.yaml 增加一批特殊符號

  • 17 |
  • 修復:用戶詞典未能完整支持 derive 拼寫運算產生的歧義切分

  • 18 |
  • 新增:(輸入方案設計用)干預多個 translator 之間的結果排序
    19 | 選項 translator/initial_quality: 0

  • 20 |
21 | 22 |
23 | 24 |

RIME 主頁:http://code.google.com/p/rimeime/

25 | -------------------------------------------------------------------------------- /squirrel/utf8.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * utf8.cpp 3 | * Squirrel 4 | * 5 | * Created by 弓辰 on 2011/12/31. 6 | * Copyright 2011 __MyCompanyName__. All rights reserved. 7 | * 8 | */ 9 | 10 | #include "utf8.h" 11 | #include "utf8/unchecked.h" 12 | 13 | 14 | unsigned utf8len(const char *text, unsigned octet_len) { 15 | return utf8::unchecked::distance(text, text + octet_len); 16 | } -------------------------------------------------------------------------------- /squirrel/utf8.h: -------------------------------------------------------------------------------- 1 | /* 2 | * utf8.h 3 | * Squirrel 4 | * 5 | * Created by 弓辰 on 2011/12/31. 6 | * Copyright 2011 __MyCompanyName__. All rights reserved. 7 | * 8 | */ 9 | 10 | extern "C" unsigned utf8len(const char *text, unsigned octet_len); 11 | -------------------------------------------------------------------------------- /squirrel/zh_CN.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | NSHumanReadableCopyright = "Copyleft 2012, 式恕堂"; 4 | 5 | CFBundleName = "鼠须管"; 6 | CFBundleDisplayName = "鼠须管"; 7 | -------------------------------------------------------------------------------- /squirrel/zh_TW.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | NSHumanReadableCopyright = "Copyleft 2012, 式恕堂"; 4 | 5 | CFBundleName = "鼠鬚管"; 6 | CFBundleDisplayName = "鼠鬚管"; 7 | -------------------------------------------------------------------------------- /squirrel/zhung.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/squirrel/zhung.icns -------------------------------------------------------------------------------- /typewriter/help.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 幫助 5 | 6 | 7 |

Rime打字機

8 |

中州式恕堂製

9 |
10 |

本程序供輸入法操作演示與鍵位練習之用。

11 |

如有問題或建議,請訪問項目主頁:http://code.google.com/p/rimeime/

12 |

用法

13 |

根據練習內容,在頁面上方的「佈局」選單中選取鍵盤佈局,如英文鍵盤、注音、倉頡、宮保拼音等。

14 |

選定鍵盤佈局後,位於頁面正當間的「鍵位圖」標明了當前佈局中各按鍵的含義。

15 |

鍵位圖下方為輸入緩衝區。光標閃動時,開始打字。按鍵動作會在鍵位圖中以動畫表現;同時,已鍵入的部份編碼以綠色顯示在輸入緩衝區內。

16 |

一段編碼完成後,按空格鍵將結果輸出到頁面底端的文本框。宮保拼音模式下以音節(一次並擊)為單位輸出。

17 |

輸入有誤,可用 Backspace 鍵刪除緩衝區的內容。

18 |

按 ESC 鍵,清除全部已輸入的文字。按 Enter 鍵,跳至編碼查詢框。

19 |

宮保拼音鍵位提示:在頁面上方的編碼查詢框內輸入拼音並按 Enter 鍵確認後,鍵位圖中會以醒目顏色標示出其在宮保拼音中的打法。

20 | 21 | 22 | -------------------------------------------------------------------------------- /typewriter/release/package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | product_version=$1 3 | if [ "x$product_version" == "x" ]; then 4 | echo "usage: $0 \$product_version" 5 | exit 1 6 | fi 7 | cd `dirname $0` 8 | svn export .. typewriter/ 9 | zip -r typewriter-${product_version}.zip typewriter/ 10 | rm -R typewriter/ 11 | -------------------------------------------------------------------------------- /weasel/.gitignore: -------------------------------------------------------------------------------- 1 | Debug/ 2 | Release/ 3 | ReleaseHant/ 4 | /output/*.exe 5 | /output/*.ime 6 | /output/data/*.kct 7 | /output/data/*.yaml 8 | /output/archives 9 | /lib/*.lib 10 | /ipch 11 | weasel.props 12 | *.user 13 | *.suo 14 | *.sdf 15 | *.opensdf 16 | *.aps 17 | *~ 18 | .*.swp 19 | *.swp 20 | Thumbs.db 21 | -------------------------------------------------------------------------------- /weasel/PyWeasel/PyWeasel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/PyWeasel/PyWeasel.cpp -------------------------------------------------------------------------------- /weasel/PyWeasel/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // PyWeasel.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /weasel/PyWeasel/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 11 | 12 | #include 13 | 14 | #pragma warning(disable : 4819) 15 | 16 | #include 17 | #include 18 | 19 | #pragma warning(default : 4819) 20 | 21 | using namespace std; 22 | using boost::interprocess::wbufferstream; 23 | namespace python = boost::python; 24 | -------------------------------------------------------------------------------- /weasel/PyWeasel/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // The following macros define the minimum required platform. The minimum required platform 4 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run 5 | // your application. The macros work by enabling all features available on platform versions up to and 6 | // including the version specified. 7 | 8 | // Modify the following defines if you have to target a platform prior to the ones specified below. 9 | // Refer to MSDN for the latest info on corresponding values for different platforms. 10 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 11 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /weasel/RimeWithWeasel/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // RimeWithWeasel.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /weasel/RimeWithWeasel/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 11 | 12 | #pragma warning(disable : 4819) 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | #pragma warning(default : 4819) 20 | 21 | using namespace std; 22 | using boost::interprocess::wbufferstream; 23 | -------------------------------------------------------------------------------- /weasel/RimeWithWeasel/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // The following macros define the minimum required platform. The minimum required platform 4 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run 5 | // your application. The macros work by enabling all features available on platform versions up to and 6 | // including the version specified. 7 | 8 | // Modify the following defines if you have to target a platform prior to the ones specified below. 9 | // Refer to MSDN for the latest info on corresponding values for different platforms. 10 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 11 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /weasel/WeaselDeployer/Configurator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselDeployer/Configurator.cpp -------------------------------------------------------------------------------- /weasel/WeaselDeployer/Configurator.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace rime { 4 | class SwitcherSettings; 5 | } 6 | 7 | class UIStyleSettings; 8 | 9 | class Configurator 10 | { 11 | public: 12 | explicit Configurator(); 13 | 14 | void Initialize(); 15 | int Run(bool installing); 16 | int UpdateWorkspace(bool report_errors = false); 17 | int DictManagement(); 18 | 19 | protected: 20 | bool ConfigureSwitcher(rime::SwitcherSettings* settings, bool* reconfigured); 21 | bool ConfigureUI(UIStyleSettings* settings, bool* reconfigured); 22 | }; 23 | 24 | const WCHAR* utf8towcs(const char* utf8_str); 25 | -------------------------------------------------------------------------------- /weasel/WeaselDeployer/DictManagementDialog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselDeployer/DictManagementDialog.cpp -------------------------------------------------------------------------------- /weasel/WeaselDeployer/SwitcherSettingsDialog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselDeployer/SwitcherSettingsDialog.cpp -------------------------------------------------------------------------------- /weasel/WeaselDeployer/UIStyleSettings.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | #pragma warning(disable: 4995) 7 | #pragma warning(disable: 4996) 8 | #include 9 | #pragma warning(default: 4996) 10 | #pragma warning(default: 4995) 11 | 12 | namespace rime { 13 | class Deployer; 14 | } 15 | 16 | struct ColorSchemeInfo { 17 | std::string color_scheme_id; 18 | std::string name; 19 | std::string author; 20 | }; 21 | 22 | class UIStyleSettings : public rime::CustomSettings { 23 | public: 24 | UIStyleSettings(rime::Deployer* deployer); 25 | 26 | bool GetPresetColorSchemes(std::vector* result); 27 | const std::string GetColorSchemePreview(const std::string& color_scheme_id); 28 | const std::string GetActiveColorScheme(); 29 | bool SelectColorScheme(const std::string& color_scheme_id); 30 | }; 31 | -------------------------------------------------------------------------------- /weasel/WeaselDeployer/UIStyleSettingsDialog.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "resource.h" 4 | #include "UIStyleSettings.h" 5 | 6 | 7 | class UIStyleSettingsDialog : public CDialogImpl { 8 | public: 9 | enum { IDD = IDD_STYLE_SETTING }; 10 | 11 | UIStyleSettingsDialog(UIStyleSettings* settings); 12 | ~UIStyleSettingsDialog(); 13 | 14 | protected: 15 | BEGIN_MSG_MAP(UIStyleSettingsDialog) 16 | MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 17 | MESSAGE_HANDLER(WM_CLOSE, OnClose) 18 | COMMAND_ID_HANDLER(IDOK, OnOK) 19 | COMMAND_HANDLER(IDC_COLOR_SCHEME, LBN_SELCHANGE, OnColorSchemeSelChange) 20 | END_MSG_MAP() 21 | 22 | LRESULT OnInitDialog(UINT, WPARAM, LPARAM, BOOL&); 23 | LRESULT OnClose(UINT, WPARAM, LPARAM, BOOL&); 24 | LRESULT OnOK(WORD, WORD code, HWND, BOOL&); 25 | LRESULT OnColorSchemeSelChange(WORD, WORD, HWND, BOOL&); 26 | 27 | void Populate(); 28 | void Preview(int index); 29 | 30 | UIStyleSettings* settings_; 31 | bool loaded_; 32 | std::vector preset_; 33 | 34 | CListBox color_schemes_; 35 | CStatic preview_; 36 | CImage image_; 37 | CButton select_font_; 38 | }; 39 | 40 | -------------------------------------------------------------------------------- /weasel/WeaselDeployer/WeaselDeployer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "resource.h" 4 | #include 5 | 6 | const std::string WeaselDeployerLogFilePath(); 7 | 8 | #define EZLOGGER_OUTPUT_FILENAME WeaselDeployerLogFilePath() 9 | #define EZLOGGER_REPLACE_EXISTING_LOGFILE_ 10 | 11 | #pragma warning(disable: 4995) 12 | #pragma warning(disable: 4996) 13 | #include 14 | #pragma warning(default: 4996) 15 | #pragma warning(default: 4995) 16 | -------------------------------------------------------------------------------- /weasel/WeaselDeployer/WeaselDeployer.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselDeployer/WeaselDeployer.rc -------------------------------------------------------------------------------- /weasel/WeaselDeployer/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselDeployer/resource.h -------------------------------------------------------------------------------- /weasel/WeaselDeployer/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // WeaselDeployer.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /weasel/WeaselDeployer/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 11 | // Windows Header Files: 12 | #include 13 | #include 14 | 15 | #pragma warning(disable : 4996) 16 | 17 | #include 18 | #include 19 | #include 20 | 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | 27 | #pragma warning(default: 4996) 28 | -------------------------------------------------------------------------------- /weasel/WeaselDeployer/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /weasel/WeaselIME/KeyEvent.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselIME/KeyEvent.cpp -------------------------------------------------------------------------------- /weasel/WeaselIME/WeaselIME.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselIME/WeaselIME.rc -------------------------------------------------------------------------------- /weasel/WeaselIME/ime.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselIME/ime.cpp -------------------------------------------------------------------------------- /weasel/WeaselIME/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by WeaselIME.rc 4 | // 5 | #define IDI_ZHUNG 101 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 102 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1001 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /weasel/WeaselIME/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // WeaselIME.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /weasel/WeaselIME/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #define NOIME 11 | 12 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 13 | #include 14 | #include 15 | 16 | #include "Imm.h" 17 | 18 | #define BOOST_FILESYSTEM_VERSION 2 19 | 20 | #pragma warning(disable : 4819) 21 | 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | 28 | #pragma warning(default : 4819) 29 | 30 | #include 31 | #include 32 | 33 | using namespace std; 34 | using boost::filesystem::wpath; 35 | using boost::shared_ptr; 36 | -------------------------------------------------------------------------------- /weasel/WeaselIME/weasel.def: -------------------------------------------------------------------------------- 1 | LIBRARY "weasel.ime" 2 | 3 | EXPORTS 4 | ImeConversionList 5 | ImeConfigure 6 | ImeDestroy 7 | ImeEscape 8 | ImeInquire 9 | ImeProcessKey 10 | ImeSelect 11 | ImeSetActiveContext 12 | ImeToAsciiEx 13 | NotifyIME 14 | ImeRegisterWord 15 | ImeUnregisterWord 16 | ImeGetRegisterWordStyle 17 | ImeEnumRegisterWord 18 | ImeSetCompositionString 19 | -------------------------------------------------------------------------------- /weasel/WeaselIPC/ActionLoader.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "Deserializer.h" 3 | #include "ActionLoader.h" 4 | 5 | using namespace weasel; 6 | 7 | 8 | Deserializer::Ptr ActionLoader::Create(ResponseParser* pTarget) 9 | { 10 | return Deserializer::Ptr(new ActionLoader(pTarget)); 11 | } 12 | 13 | ActionLoader::ActionLoader(ResponseParser* pTarget) 14 | : Deserializer(pTarget) 15 | { 16 | } 17 | 18 | ActionLoader::~ActionLoader() 19 | { 20 | } 21 | 22 | void ActionLoader::Store(Deserializer::KeyType const& key, wstring const& value) 23 | { 24 | if (key.size() == 1) // no extention parts 25 | { 26 | // split value by L"," 27 | vector vecAction; 28 | split(vecAction, value, is_any_of(L",")); 29 | 30 | // require specified action deserializers 31 | for(vector::const_iterator it = vecAction.begin(); it != vecAction.end(); ++it) 32 | { 33 | Deserializer::Require(*it, m_pTarget); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /weasel/WeaselIPC/ActionLoader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "Deserializer.h" 3 | 4 | class ActionLoader : public weasel::Deserializer 5 | { 6 | public: 7 | ActionLoader(weasel::ResponseParser* pTarget); 8 | virtual ~ActionLoader(); 9 | // store data 10 | virtual void Store(weasel::Deserializer::KeyType const& key, std::wstring const& value); 11 | // factory method 12 | static weasel::Deserializer::Ptr Create(weasel::ResponseParser* pTarget); 13 | }; 14 | -------------------------------------------------------------------------------- /weasel/WeaselIPC/Committer.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | #include "Deserializer.h" 3 | #include "Committer.h" 4 | 5 | using namespace weasel; 6 | 7 | 8 | Deserializer::Ptr Committer::Create(ResponseParser* pTarget) 9 | { 10 | return Deserializer::Ptr(new Committer(pTarget)); 11 | } 12 | 13 | Committer::Committer(ResponseParser* pTarget) 14 | : Deserializer(pTarget) 15 | { 16 | } 17 | 18 | Committer::~Committer() 19 | { 20 | } 21 | 22 | void Committer::Store(Deserializer::KeyType const& key, wstring const& value) 23 | { 24 | if (!m_pTarget->p_commit) 25 | return; 26 | if (key.size() == 1) 27 | *m_pTarget->p_commit = value; 28 | } 29 | -------------------------------------------------------------------------------- /weasel/WeaselIPC/Committer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "Deserializer.h" 3 | 4 | class Committer : public weasel::Deserializer 5 | { 6 | public: 7 | Committer(weasel::ResponseParser* pTarget); 8 | virtual ~Committer(); 9 | // store data 10 | virtual void Store(weasel::Deserializer::KeyType const& key, std::wstring const& value); 11 | // factory method 12 | static weasel::Deserializer::Ptr Create(weasel::ResponseParser* pTarget); 13 | }; 14 | -------------------------------------------------------------------------------- /weasel/WeaselIPC/ContextUpdater.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "Deserializer.h" 3 | 4 | class ContextUpdater : public weasel::Deserializer 5 | { 6 | public: 7 | ContextUpdater(weasel::ResponseParser* pTarget); 8 | virtual ~ContextUpdater(); 9 | virtual void Store(weasel::Deserializer::KeyType const& key, std::wstring const& value); 10 | 11 | void _StoreText(weasel::Text& target, Deserializer::KeyType k, wstring const& value); 12 | void _StoreCand(Deserializer::KeyType k, wstring const& value); 13 | 14 | static weasel::Deserializer::Ptr Create(weasel::ResponseParser* pTarget); 15 | }; 16 | 17 | class StatusUpdater : public weasel::Deserializer 18 | { 19 | public: 20 | StatusUpdater(weasel::ResponseParser* pTarget); 21 | virtual ~StatusUpdater(); 22 | virtual void Store(weasel::Deserializer::KeyType const& key, std::wstring const& value); 23 | 24 | static weasel::Deserializer::Ptr Create(weasel::ResponseParser* pTarget); 25 | }; 26 | -------------------------------------------------------------------------------- /weasel/WeaselIPC/Deserializer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | namespace weasel 6 | { 7 | 8 | class Deserializer 9 | { 10 | public: 11 | typedef std::vector KeyType; 12 | typedef boost::shared_ptr Ptr; 13 | typedef boost::function Factory; 14 | 15 | Deserializer(ResponseParser* pTarget) : m_pTarget(pTarget) {} 16 | virtual ~Deserializer() {} 17 | virtual void Store(KeyType const& key, std::wstring const& value) {} 18 | 19 | static void Initialize(ResponseParser* pTarget); 20 | static void Define(std::wstring const& action, Factory factory); 21 | static bool Require(std::wstring const& action, ResponseParser* pTarget); 22 | 23 | protected: 24 | ResponseParser* m_pTarget; 25 | 26 | private: 27 | static std::map s_factories; 28 | }; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /weasel/WeaselIPC/WeaselClientImpl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselIPC/WeaselClientImpl.cpp -------------------------------------------------------------------------------- /weasel/WeaselIPC/WeaselClientImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | namespace weasel 5 | { 6 | 7 | class ClientImpl 8 | { 9 | public: 10 | ClientImpl(); 11 | ~ClientImpl(); 12 | 13 | bool Connect(ServerLauncher const& launcher); 14 | void Disconnect(); 15 | void ShutdownServer(); 16 | void StartSession(); 17 | void EndSession(); 18 | void StartMaintenance(); 19 | void EndMaintenance(); 20 | bool Echo(); 21 | bool ProcessKeyEvent(KeyEvent const& keyEvent); 22 | void UpdateInputPosition(RECT const& rc); 23 | void FocusIn(); 24 | void FocusOut(); 25 | bool GetResponseData(ResponseHandler const& handler); 26 | 27 | protected: 28 | HWND _GetServerWindow(LPCWSTR windowClass); 29 | bool _Connected() const { return serverWnd != NULL; } 30 | bool _Active() const { return _Connected() && session_id != 0; } 31 | 32 | private: 33 | UINT session_id; 34 | HWND serverWnd; 35 | }; 36 | 37 | } -------------------------------------------------------------------------------- /weasel/WeaselIPC/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // WeaselIPC.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /weasel/WeaselIPC/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 11 | 12 | #include 13 | 14 | #pragma warning(disable : 4819) 15 | #pragma warning(disable : 4996) 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | #pragma warning(default: 4819) 25 | #pragma warning(default: 4996) 26 | 27 | #include 28 | #include 29 | #include 30 | 31 | using namespace std; 32 | using namespace boost::algorithm; 33 | using boost::interprocess::wbufferstream; 34 | using boost::shared_ptr; 35 | -------------------------------------------------------------------------------- /weasel/WeaselIPC/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // The following macros define the minimum required platform. The minimum required platform 4 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run 5 | // your application. The macros work by enabling all features available on platform versions up to and 6 | // including the version specified. 7 | 8 | // Modify the following defines if you have to target a platform prior to the ones specified below. 9 | // Refer to MSDN for the latest info on corresponding values for different platforms. 10 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 11 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /weasel/WeaselIPCServer/WeaselServerImpl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselIPCServer/WeaselServerImpl.cpp -------------------------------------------------------------------------------- /weasel/WeaselIPCServer/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // WeaselIPCServer.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /weasel/WeaselIPCServer/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 11 | 12 | #include 13 | 14 | #include 15 | #include 16 | 17 | #pragma warning(disable : 4996) 18 | 19 | #include 20 | #include 21 | 22 | #pragma warning(default: 4996) 23 | 24 | #pragma warning(disable : 4819) 25 | 26 | #include 27 | #include 28 | #include 29 | 30 | #pragma warning(default: 4819) 31 | 32 | using namespace boost::interprocess; 33 | using boost::shared_ptr; 34 | -------------------------------------------------------------------------------- /weasel/WeaselIPCServer/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // The following macros define the minimum required platform. The minimum required platform 4 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run 5 | // your application. The macros work by enabling all features available on platform versions up to and 6 | // including the version specified. 7 | 8 | // Modify the following defines if you have to target a platform prior to the ones specified below. 9 | // Refer to MSDN for the latest info on corresponding values for different platforms. 10 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 11 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /weasel/WeaselServer/WeaselServer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselServer/WeaselServer.cpp -------------------------------------------------------------------------------- /weasel/WeaselServer/WeaselServer.h: -------------------------------------------------------------------------------- 1 | // WeaselServer.h 2 | -------------------------------------------------------------------------------- /weasel/WeaselServer/WeaselServer.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselServer/WeaselServer.rc -------------------------------------------------------------------------------- /weasel/WeaselServer/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by WeaselServer.rc 4 | // 5 | #define IDI_ZHUNG 101 6 | #define IDI_ALPHA 102 7 | #define IDI_ENABLED 103 8 | #define IDI_DISABLED 104 9 | #define IDR_MENU_POPUP 105 10 | #define ID_WEASELTRAY_QUIT 40001 11 | #define ID_WEASELTRAY_DEPLOY 40002 12 | #define ID_WEASELTRAY_CHECKUPDATE 40003 13 | #define ID_WEASELTRAY_FORUM 40004 14 | #define ID_WEASELTRAY_HOMEPAGE 40005 15 | #define ID_WEASELTRAY_INSTALLDIR 40006 16 | #define ID_WEASELTRAY_USERCONFIG 40007 17 | #define ID_WEASELTRAY_SETTINGS 40008 18 | #define ID_WEASELTRAY_WIKI 40009 19 | #define ID_WEASELTRAY_DICT_MANAGEMENT 40010 20 | 21 | // Next default values for new objects 22 | // 23 | #ifdef APSTUDIO_INVOKED 24 | #ifndef APSTUDIO_READONLY_SYMBOLS 25 | #define _APS_NEXT_RESOURCE_VALUE 106 26 | #define _APS_NEXT_COMMAND_VALUE 40011 27 | #define _APS_NEXT_CONTROL_VALUE 1001 28 | #define _APS_NEXT_SYMED_VALUE 101 29 | #endif 30 | #endif 31 | -------------------------------------------------------------------------------- /weasel/WeaselServer/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // WeaselServer.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | #if (_ATL_VER < 0x0700) 8 | #include 9 | #endif //(_ATL_VER < 0x0700) 10 | -------------------------------------------------------------------------------- /weasel/WeaselTSF/WeaselTSF.cpp: -------------------------------------------------------------------------------- 1 | // WeaselTSF.cpp : Defines the exported functions for the DLL application. 2 | // 3 | 4 | #include "stdafx.h" 5 | #include "WeaselTSF.h" 6 | 7 | 8 | // This is an example of an exported variable 9 | WEASELTSF_API int nWeaselTSF=0; 10 | 11 | // This is an example of an exported function. 12 | WEASELTSF_API int fnWeaselTSF(void) 13 | { 14 | return 42; 15 | } 16 | 17 | // This is the constructor of a class that has been exported. 18 | // see WeaselTSF.h for the class definition 19 | CWeaselTSF::CWeaselTSF() 20 | { 21 | return; 22 | } 23 | -------------------------------------------------------------------------------- /weasel/WeaselTSF/WeaselTSF.h: -------------------------------------------------------------------------------- 1 | // The following ifdef block is the standard way of creating macros which make exporting 2 | // from a DLL simpler. All files within this DLL are compiled with the WEASELTSF_EXPORTS 3 | // symbol defined on the command line. this symbol should not be defined on any project 4 | // that uses this DLL. This way any other project whose source files include this file see 5 | // WEASELTSF_API functions as being imported from a DLL, whereas this DLL sees symbols 6 | // defined with this macro as being exported. 7 | #ifdef WEASELTSF_EXPORTS 8 | #define WEASELTSF_API __declspec(dllexport) 9 | #else 10 | #define WEASELTSF_API __declspec(dllimport) 11 | #endif 12 | 13 | // This class is exported from the WeaselTSF.dll 14 | class WEASELTSF_API CWeaselTSF { 15 | public: 16 | CWeaselTSF(void); 17 | // TODO: add your methods here. 18 | }; 19 | 20 | extern WEASELTSF_API int nWeaselTSF; 21 | 22 | WEASELTSF_API int fnWeaselTSF(void); 23 | -------------------------------------------------------------------------------- /weasel/WeaselTSF/dllmain.cpp: -------------------------------------------------------------------------------- 1 | // dllmain.cpp : Defines the entry point for the DLL application. 2 | #include "stdafx.h" 3 | 4 | BOOL APIENTRY DllMain( HMODULE hModule, 5 | DWORD ul_reason_for_call, 6 | LPVOID lpReserved 7 | ) 8 | { 9 | switch (ul_reason_for_call) 10 | { 11 | case DLL_PROCESS_ATTACH: 12 | case DLL_THREAD_ATTACH: 13 | case DLL_THREAD_DETACH: 14 | case DLL_PROCESS_DETACH: 15 | break; 16 | } 17 | return TRUE; 18 | } 19 | 20 | -------------------------------------------------------------------------------- /weasel/WeaselTSF/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // WeaselTSF.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /weasel/WeaselTSF/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 11 | // Windows Header Files: 12 | #include 13 | 14 | 15 | 16 | // TODO: reference additional headers your program requires here 17 | -------------------------------------------------------------------------------- /weasel/WeaselUI/WeaselPanel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselUI/WeaselPanel.cpp -------------------------------------------------------------------------------- /weasel/WeaselUI/WeaselTrayIcon.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/WeaselUI/WeaselTrayIcon.cpp -------------------------------------------------------------------------------- /weasel/WeaselUI/WeaselTrayIcon.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | #include "SystemTraySDK.h" 5 | 6 | #define WM_WEASEL_TRAY_NOTIFY (WEASEL_IPC_LAST_COMMAND + 100) 7 | 8 | 9 | class WeaselTrayIcon : public CSystemTray 10 | { 11 | public: 12 | enum WeaselTrayMode { 13 | INITIAL, ZHUNG, ASCII, DISABLED, 14 | }; 15 | 16 | WeaselTrayIcon(weasel::UI &ui); 17 | 18 | BOOL Create(HWND hTargetWnd); 19 | void Refresh(); 20 | 21 | protected: 22 | virtual void CustomizeMenu(HMENU hMenu); 23 | 24 | weasel::Status &m_status; 25 | WeaselTrayMode m_mode; 26 | }; 27 | 28 | -------------------------------------------------------------------------------- /weasel/WeaselUI/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // WeaselUI.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /weasel/WeaselUI/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | //#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 11 | 12 | #pragma warning(disable : 4996) 13 | 14 | #include 15 | #include 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | 22 | #pragma warning(default: 4996) 23 | 24 | #pragma warning(disable : 4819) 25 | 26 | #include 27 | 28 | #pragma warning(default: 4819) 29 | 30 | #include 31 | #include 32 | 33 | using namespace std; 34 | -------------------------------------------------------------------------------- /weasel/WeaselUI/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // The following macros define the minimum required platform. The minimum required platform 4 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run 5 | // your application. The macros work by enabling all features available on platform versions up to and 6 | // including the version specified. 7 | 8 | // Modify the following defines if you have to target a platform prior to the ones specified below. 9 | // Refer to MSDN for the latest info on corresponding values for different platforms. 10 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 11 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /weasel/env.bat: -------------------------------------------------------------------------------- 1 | rem environment settings 2 | set DEV_PATH=\opt\cmake-win32\bin;\opt\svn-win32\bin;\opt\MinGW\bin 3 | set WEASEL_ROOT=%CD% 4 | set BOOST_ROOT=\code\boost_1_47_0 5 | -------------------------------------------------------------------------------- /weasel/include/PyWeasel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | class PyWeaselHandler : 6 | public weasel::RequestHandler 7 | { 8 | public: 9 | PyWeaselHandler(); 10 | virtual ~PyWeaselHandler(); 11 | virtual void Initialize(); 12 | virtual void Finalize(); 13 | virtual UINT FindSession(UINT session_id); 14 | virtual UINT AddSession(LPWSTR buffer); 15 | virtual UINT RemoveSession(UINT session_id); 16 | virtual BOOL ProcessKeyEvent(weasel::KeyEvent keyEvent, UINT session_id, LPWSTR buffer); 17 | 18 | private: 19 | bool _Respond(LPWSTR buffer, std::wstring const& msg); 20 | boost::python::object m_service; 21 | }; 22 | -------------------------------------------------------------------------------- /weasel/include/ResponseParser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/include/ResponseParser.h -------------------------------------------------------------------------------- /weasel/include/RimeWithWeasel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | class RimeWithWeaselHandler : 6 | public weasel::RequestHandler 7 | { 8 | public: 9 | RimeWithWeaselHandler(weasel::UI *ui); 10 | virtual ~RimeWithWeaselHandler(); 11 | virtual void Initialize(); 12 | virtual void Finalize(); 13 | virtual UINT FindSession(UINT session_id); 14 | virtual UINT AddSession(LPWSTR buffer); 15 | virtual UINT RemoveSession(UINT session_id); 16 | virtual BOOL ProcessKeyEvent(weasel::KeyEvent keyEvent, UINT session_id, LPWSTR buffer); 17 | virtual void FocusIn(UINT session_id); 18 | virtual void FocusOut(UINT session_id); 19 | virtual void UpdateInputPosition(RECT const& rc, UINT session_id); 20 | virtual void StartMaintenance(); 21 | virtual void EndMaintenance(); 22 | 23 | private: 24 | bool _IsDeployerRunning(); 25 | void _UpdateUI(UINT session_id); 26 | bool _Respond(UINT session_id, LPWSTR buffer); 27 | void _UpdateUIStyle(); 28 | 29 | weasel::UI *m_ui; // reference 30 | UINT m_active_session; 31 | bool m_disabled; 32 | }; 33 | -------------------------------------------------------------------------------- /weasel/include/WeaselCommon.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/include/WeaselCommon.h -------------------------------------------------------------------------------- /weasel/include/WeaselIPC.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/include/WeaselIPC.h -------------------------------------------------------------------------------- /weasel/include/WeaselUI.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/include/WeaselUI.h -------------------------------------------------------------------------------- /weasel/include/WeaselVersion.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define WEASEL_VERSION_STR "0.9.14.1" 4 | #define WEASEL_VERSION_NUM 0,9,14,1 5 | 6 | #define WEASEL_CODE_NAME "Weasel" 7 | #define WEASEL_VERSION WEASEL_VERSION_STR 8 | -------------------------------------------------------------------------------- /weasel/include/ezlogger/ezlogger_headers.hpp: -------------------------------------------------------------------------------- 1 | #ifndef EZLOGGER_HEADERS_HPP_HEADER_GRD_ 2 | #define EZLOGGER_HEADERS_HPP_HEADER_GRD_ 3 | 4 | /*! @file ezlogger_headers.hpp 5 | @brief ezlogger_headers.hpp includes all the default policies for ezlogger. 6 | @section Description 7 | Include this header to get all the required default headers to perform logging. 8 | To replace one or more policies, the developer should create a similar header list, 9 | and replace the header for the target policies with the custom policies. 10 | */ 11 | 12 | #include "ezlogger_misc.hpp" 13 | #include "ezlogger_output_policy.hpp" 14 | #include "ezlogger_format_policy.hpp" 15 | #include "ezlogger_verbosity_level_policy.hpp" 16 | #include "ezlogger.hpp" 17 | #include "ezlogger_macros.hpp" 18 | 19 | #endif //EZLOGGER_HEADERS_HPP_HEADER_GRD_ 20 | -------------------------------------------------------------------------------- /weasel/lib/WinSparkle.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/lib/WinSparkle.lib -------------------------------------------------------------------------------- /weasel/output/WinSparkle.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/WinSparkle.dll -------------------------------------------------------------------------------- /weasel/output/check_windows_version.js: -------------------------------------------------------------------------------- 1 | var wbemFlagReturnImmediately = 0x10; 2 | var wbemFlagForwardOnly = 0x20; 3 | 4 | var objWMIService = GetObject("winmgmts:\\\\.\\root\\CIMV2"); 5 | var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly); 6 | 7 | var isWinXP = 0; 8 | var isX64 = 0; 9 | var enumItems = new Enumerator(colItems); 10 | for (; !enumItems.atEnd(); enumItems.moveNext()) { 11 | var objItem = enumItems.item(); 12 | if (objItem.Caption.indexOf("Windows XP") != -1) { 13 | isWinXP = 1; 14 | break; 15 | } 16 | else if (objItem.OSArchitecture.indexOf("64") != -1) { 17 | isX64 = 2; 18 | break; 19 | } 20 | } 21 | // 0: Win7 32-bit, 1: WinXP 32-bit, 2: Win7 64-bit 22 | WScript.Quit(isWinXP + isX64); 23 | -------------------------------------------------------------------------------- /weasel/output/data/opencc/to_tw_variants.txt: -------------------------------------------------------------------------------- 1 | 僞 偽 2 | 兇 凶 3 | 啓 啟 4 | 囱 囪 5 | 嬀 媯 6 | 棱 稜 7 | 污 汙 8 | 泄 洩 9 | 涌 湧 10 | 潙 溈 11 | 爲 為 12 | 牀 床 13 | 着 著 14 | 竈 灶 15 | 羣 群 16 | 衆 眾 17 | 裏 裡 18 | 踊 踴 19 | 鷄 雞 20 | 麪 麵 21 | 麯 麴 22 | 覈 核 -------------------------------------------------------------------------------- /weasel/output/data/opencc/trad_to_simp_characters.ocd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/data/opencc/trad_to_simp_characters.ocd -------------------------------------------------------------------------------- /weasel/output/data/opencc/trad_to_simp_phrases.ocd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/data/opencc/trad_to_simp_phrases.ocd -------------------------------------------------------------------------------- /weasel/output/data/opencc/zht2zhs.ini: -------------------------------------------------------------------------------- 1 | ; Open Chinese Convert 2 | ; 3 | ; Copyright 2010 BYVoid 4 | ; 5 | ; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ; you may not use this file except in compliance with the License. 7 | ; You may obtain a copy of the License at 8 | ; 9 | ; http://www.apache.org/licenses/LICENSE-2.0 10 | ; 11 | ; Unless required by applicable law or agreed to in writing, software 12 | ; distributed under the License is distributed on an "AS IS" BASIS, 13 | ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ; See the License for the specific language governing permissions and 15 | ; limitations under the License. 16 | 17 | title = trad_to_simp 18 | description = Standard Configuration for Conversion from Traditional Chinese to Simplified Chinese 19 | dict0 = OCD data\opencc\trad_to_simp_phrases.ocd 20 | dict0 = OCD data\opencc\trad_to_simp_characters.ocd 21 | -------------------------------------------------------------------------------- /weasel/output/data/opencc/zht2zhtw_v.ini: -------------------------------------------------------------------------------- 1 | ; Open Chinese Convert 2 | ; 3 | ; Copyright 2011 BYVoid 4 | ; 5 | ; Licensed under the Apache License, Version 2.0 (the "License"); 6 | ; you may not use this file except in compliance with the License. 7 | ; You may obtain a copy of the License at 8 | ; 9 | ; http://www.apache.org/licenses/LICENSE-2.0 10 | ; 11 | ; Unless required by applicable law or agreed to in writing, software 12 | ; distributed under the License is distributed on an "AS IS" BASIS, 13 | ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | ; See the License for the specific language governing permissions and 15 | ; limitations under the License. 16 | 17 | title = trad_to_taiwan_variants 18 | description = from Traditional to variants of Taiwan 19 | dict0 = TEXT data\opencc\to_tw_variants.txt 20 | -------------------------------------------------------------------------------- /weasel/output/data/preview/color_scheme_aqua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/data/preview/color_scheme_aqua.png -------------------------------------------------------------------------------- /weasel/output/data/preview/color_scheme_azure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/data/preview/color_scheme_azure.png -------------------------------------------------------------------------------- /weasel/output/data/preview/color_scheme_dark_temple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/data/preview/color_scheme_dark_temple.png -------------------------------------------------------------------------------- /weasel/output/data/preview/color_scheme_ink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/data/preview/color_scheme_ink.png -------------------------------------------------------------------------------- /weasel/output/data/preview/color_scheme_lost_temple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/data/preview/color_scheme_lost_temple.png -------------------------------------------------------------------------------- /weasel/output/data/preview/color_scheme_luna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/data/preview/color_scheme_luna.png -------------------------------------------------------------------------------- /weasel/output/data/preview/color_scheme_starcraft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/data/preview/color_scheme_starcraft.png -------------------------------------------------------------------------------- /weasel/output/elevate.js: -------------------------------------------------------------------------------- 1 | // elevate.js -- runs target command line elevated 2 | if (WScript.Arguments.Length >= 1) { 3 | Application = WScript.Arguments(0); 4 | Arguments = ""; 5 | for (Index = 1; Index < WScript.Arguments.Length; Index += 1) { 6 | if (Index > 1) { 7 | Arguments += " "; 8 | } 9 | Arguments += WScript.Arguments(Index); 10 | } 11 | new ActiveXObject("Shell.Application").ShellExecute(Application, Arguments, "", "runas"); 12 | } else { 13 | WScript.Echo("Usage: elevate Application Arguments"); 14 | } 15 | -------------------------------------------------------------------------------- /weasel/output/install.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | rem argument 1: [ /s | /t ] register ime as zh_CN | zh_TW keyboard layout 4 | set WEASEL_IME=weasel 5 | if /i "%1" == "/t" set WEASEL_IME=weaselt 6 | 7 | cd "%~dp0" 8 | 9 | echo stopping service from an older version. 10 | call stop_service.bat 11 | 12 | echo configuring preset input schemas... 13 | weaseldeployer.exe /install 14 | 15 | echo registering Weasel IME to your system. 16 | 17 | wscript check_windows_version.js 18 | if errorlevel 2 goto win7_x64_install 19 | if errorlevel 1 goto xp_install 20 | 21 | :win7_install 22 | wscript elevate.js rundll32 "%CD%\%WEASEL_IME%.ime" install 23 | if %ERRORLEVEL% EQU 0 goto success 24 | 25 | :win7_x64_install 26 | wscript elevate.js rundll32 "%CD%\%WEASEL_IME%x64.ime" install 27 | if %ERRORLEVEL% EQU 0 goto success 28 | 29 | :xp_install 30 | rundll32 "%CD%\%WEASEL_IME%.ime" install 31 | if %ERRORLEVEL% EQU 0 goto success 32 | 33 | :success 34 | 35 | rem start notepad README.txt 36 | 37 | :exit 38 | -------------------------------------------------------------------------------- /weasel/output/opencc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/opencc.dll -------------------------------------------------------------------------------- /weasel/output/shell.bat: -------------------------------------------------------------------------------- 1 | cmd 2 | -------------------------------------------------------------------------------- /weasel/output/stop_service.bat: -------------------------------------------------------------------------------- 1 | cd "%~dp0" 2 | weaselserver.exe /q 3 | -------------------------------------------------------------------------------- /weasel/output/uninstall.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | cd "%~dp0" 4 | call stop_service.bat 5 | 6 | echo uninstalling Weasel ime. 7 | 8 | wscript check_windows_version.js 9 | if errorlevel 2 goto win7_x64_uninstall 10 | if errorlevel 1 goto xp_uninstall 11 | 12 | :win7_uninstall 13 | wscript elevate.js rundll32 "%CD%\weasel.ime" uninstall 14 | goto exit 15 | 16 | :win7_x64_uninstall 17 | wscript elevate.js rundll32 "%CD%\weaselx64.ime" uninstall 18 | goto exit 19 | 20 | :xp_uninstall 21 | rundll32 "%CD%\weasel.ime" uninstall 22 | goto exit 23 | 24 | :exit 25 | -------------------------------------------------------------------------------- /weasel/output/zhung.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/zhung.bmp -------------------------------------------------------------------------------- /weasel/output/zhung.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/zhung.ico -------------------------------------------------------------------------------- /weasel/output/zlib1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/output/zlib1.dll -------------------------------------------------------------------------------- /weasel/quick_build.bat: -------------------------------------------------------------------------------- 1 | set work=%cd% 2 | cd %work%\..\librime 3 | call vcbuild.bat 4 | cd %work% 5 | output\weaselserver /q 6 | copy %work%\..\brise\essay.kct output\data\ 7 | copy %work%\..\brise\default.yaml output\data\ 8 | copy %work%\..\brise\preset\*.yaml output\data\ 9 | copy %work%\..\brise\supplement\*.yaml output\data\ 10 | rem devenv weasel.sln /Build "ReleaseHant|x64" 11 | rem if errorlevel 1 goto error 12 | rem devenv weasel.sln /Build "ReleaseHant|Win32" 13 | rem if errorlevel 1 goto error 14 | rem devenv weasel.sln /Build "Release|x64" 15 | rem if errorlevel 1 goto error 16 | devenv weasel.sln /Build "Release|Win32" 17 | if errorlevel 1 goto error 18 | goto end 19 | :error 20 | echo error building weasel... 21 | :end 22 | cd %work% 23 | -------------------------------------------------------------------------------- /weasel/rebuild.bat: -------------------------------------------------------------------------------- 1 | set work=%cd% 2 | cd %work%\..\librime 3 | call vcbuild.bat 4 | cd %work% 5 | output\weaselserver /q 6 | copy %work%\..\brise\essay.kct output\data\ 7 | copy %work%\..\brise\default.yaml output\data\ 8 | copy %work%\..\brise\preset\*.yaml output\data\ 9 | copy %work%\..\brise\supplement\*.yaml output\data\ 10 | devenv weasel.sln /Rebuild "ReleaseHant|x64" 11 | if errorlevel 1 goto error 12 | devenv weasel.sln /Rebuild "ReleaseHant|Win32" 13 | if errorlevel 1 goto error 14 | devenv weasel.sln /Rebuild "Release|x64" 15 | if errorlevel 1 goto error 16 | devenv weasel.sln /Rebuild "Release|Win32" 17 | if errorlevel 1 goto error 18 | goto end 19 | :error 20 | echo error building weasel... 21 | :end 22 | cd %work% 23 | -------------------------------------------------------------------------------- /weasel/resource/alpha.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/resource/alpha.ico -------------------------------------------------------------------------------- /weasel/resource/disabled.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/resource/disabled.ico -------------------------------------------------------------------------------- /weasel/resource/enabled.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/resource/enabled.ico -------------------------------------------------------------------------------- /weasel/resource/zhung.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/resource/zhung.bmp -------------------------------------------------------------------------------- /weasel/resource/zhung.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/resource/zhung.ico -------------------------------------------------------------------------------- /weasel/resource/zhung.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/resource/zhung.png -------------------------------------------------------------------------------- /weasel/shell.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | if exist env.bat call env.bat 3 | set OLD_PATH=%PATH% 4 | if defined DEV_PATH set PATH=%OLD_PATH%;%DEV_PATH% 5 | rem %comspec% 6 | rem %comspec% /k ""C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" x86 7 | %comspec% /k ""C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86 8 | -------------------------------------------------------------------------------- /weasel/test/TestPyWeasel/TestPyWeasel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/test/TestPyWeasel/TestPyWeasel.cpp -------------------------------------------------------------------------------- /weasel/test/TestPyWeasel/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // TestPyWeasel.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /weasel/test/TestPyWeasel/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #include 11 | #include 12 | 13 | 14 | 15 | // TODO: reference additional headers your program requires here 16 | -------------------------------------------------------------------------------- /weasel/test/TestPyWeasel/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // The following macros define the minimum required platform. The minimum required platform 4 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run 5 | // your application. The macros work by enabling all features available on platform versions up to and 6 | // including the version specified. 7 | 8 | // Modify the following defines if you have to target a platform prior to the ones specified below. 9 | // Refer to MSDN for the latest info on corresponding values for different platforms. 10 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 11 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /weasel/test/TestResponseParser/TestResponseParser.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/test/TestResponseParser/TestResponseParser.cpp -------------------------------------------------------------------------------- /weasel/test/TestResponseParser/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // TestResponseParser.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /weasel/test/TestResponseParser/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #include 11 | #include 12 | 13 | 14 | 15 | // TODO: reference additional headers your program requires here 16 | -------------------------------------------------------------------------------- /weasel/test/TestResponseParser/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // The following macros define the minimum required platform. The minimum required platform 4 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run 5 | // your application. The macros work by enabling all features available on platform versions up to and 6 | // including the version specified. 7 | 8 | // Modify the following defines if you have to target a platform prior to the ones specified below. 9 | // Refer to MSDN for the latest info on corresponding values for different platforms. 10 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 11 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /weasel/test/TestWeaselIPC/TestWeaselIPC.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lotem/rimeime/95853833035b04d384a685d1bc8993567729028d/weasel/test/TestWeaselIPC/TestWeaselIPC.cpp -------------------------------------------------------------------------------- /weasel/test/TestWeaselIPC/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // TestWeaselIPC.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /weasel/test/TestWeaselIPC/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #include "targetver.h" 9 | 10 | #include 11 | #include 12 | 13 | #include 14 | 15 | #include 16 | 17 | #pragma warning(disable : 4996) 18 | 19 | #include 20 | 21 | #pragma warning(default : 4996) 22 | 23 | extern CAppModule _Module; 24 | -------------------------------------------------------------------------------- /weasel/test/TestWeaselIPC/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // The following macros define the minimum required platform. The minimum required platform 4 | // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run 5 | // your application. The macros work by enabling all features available on platform versions up to and 6 | // including the version specified. 7 | 8 | // Modify the following defines if you have to target a platform prior to the ones specified below. 9 | // Refer to MSDN for the latest info on corresponding values for different platforms. 10 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 11 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /weasel/update/appcast.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 【小狼毫】輸入法更新 5 | http://rimeime.github.io/weasel-update/appcast.xml 6 | 小狼毫Appcast更新頻道 7 | zh 8 | 9 | 小狼毫 0.9.24 10 | http://rimeime.github.io/weasel-update/ 11 | Thu, 4 Jul 2013 21:00:00 +0800 12 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /weasel/update/release-notes.html: -------------------------------------------------------------------------------- 1 | 

【小狼毫】0.9.23

2 |
3 |

更新日期:2013-06-09

4 |
    5 |
  • 改進:方案選單按選用輸入方案的時間排列

  • 6 |
  • 新增:快捷鍵 Control+Shift+1 切換至下一個輸入方案

  • 7 |
  • 新增:快捷鍵 Control+Shift+2~5 切換輸入模式

  • 8 |
  • 新增:初次安裝時由用戶指定輸入語言:中文(中國/臺灣)

  • 9 |
  • 新增:可屏蔽符合 fuzz 拼寫規則的單字候選,僅以其輸入詞組

  • 10 | 選項 translator/strict_spelling: true

    11 |
  • 改進:綜合候選詞的詞頻和詞條質量比較不同 translator 的結果

  • 12 |
  • 修復:自定義短語不應參與組詞

  • 13 |
  • 修復:八股文錯詞及「鏈」字無法以簡化字組詞的 BUG

  • 14 |
15 | 16 |
17 |

RIME 主頁:http://code.google.com/p/rimeime/

18 | -------------------------------------------------------------------------------- /weasel/weasel.props.template: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | D:\code\boost_1_47_0 5 | C:\Python27 6 | 7 | 8 | <_ProjectFileVersion>10.0.40219.1 9 | <_PropertySheetDisplayName>Weasel Project Properties 10 | 11 | 12 | 13 | $(BOOST_HOME) 14 | true 15 | 16 | 17 | $(PYTHON_HOME) 18 | true 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /weasel/weasel.vsprops.template: -------------------------------------------------------------------------------- 1 | 2 | 6 | 12 | 18 | --------------------------------------------------------------------------------