GithubHelp home page GithubHelp logo

osfans / trime Goto Github PK

View Code? Open in Web Editor NEW
3.0K 77.0 366.0 29.09 MB

同文安卓輸入法平臺3.x/Android-rime/Rime Input Method Engine for Android

Home Page: http://osfans.github.io/trime/

License: GNU General Public License v3.0

Makefile 0.33% C++ 4.36% CMake 1.05% Shell 0.10% Kotlin 94.15%
rime jni opencc ime chinese android

trime's Introduction

Trime

Rime IME for Android

build License: GPL v3 GitHub release F-Droid release Latest build

English | 简体中文 | 繁體中文

About

Trime is originally a frontend of open-source Android Traditional Chinese IME, based on RIME input method framework and written in Java/Kotlin with JNI. It is designed to protect the native language of various local dialects of Chinese and is a universal shape-based and phonetic-based input method platform.

Documentation

Download

History

TRIME is the abbreviation of Tongwen RIME or ThaeRv Input Method.

From the beginning, TRIME was written for TaeRv Pinyin, and named TaeRv Input Method (泰如输入法).

Then, we created an input method platform with some code tables, such as Wu dialect (吴语). We renamed it to Chinese Character Dialect Input Method (汉字方言输入法).

Later, it supports Wubi and Liangbi and other shape-based input method, we branded it Tongwen Input Method Platform 2.0 (同文输入法平台 2.0), which implies that the phonetic-based and shape-based input method on one platform, while dialects and Mandrain share one kind of characters.

Benefit from the librime project by JNI, we are now in version 3.0 of TRIME aka Tongwen Input Method (同文输入法).

Your are now welcome to contribution ~ !

Getting Started for developer

Prepare

Android SDK and Android NDK should be correctly installed and configured. If you are new to Android development, please install Android Studio.

The needed version of JDK (OpenJDK) is 17 or 21.

Prerequisites for Windows

Symbolic links will be created according to current build configurations, developers need:

  • Enable Developer Mode so that symlinks can be created without administrator privilege.

  • Enable symlink support for git:

    git config --global core.symlinks true

If you cannot or wouldn't like to enable anything, it doesn't matter. Copying will be used instead when error on creating symbolic links.

Build

1. Clone this project and fetch all submodules:

git clone [email protected]:osfans/trime.git
git submodule update --init --recursive

2. Debug version without signature:

# On Linux or macOS
make debug

# On Windows
.\gradlew assembleDebug

3. Release version with signture:

Create keystore.properties file which contains following contents for signing information:

storePassword=myStorePassword
keyPassword=mykeyPassword
keyAlias=myKeyAlias
storeFile=myStoreFileLocation

Then, you may run:

# On Linux or macOS
make release

# On Windows
.\gradlew assembleRelease

Troubleshooting

Target "boost_log_setup" links to target "Boost::coroutine" but the target was not found.

Run make clean on Linux or macOS, or run .\gradlew clean on Windows.

Other issues:

  1. Try make clean
  2. Make sure your repo is up-to-date. If one or more submodules are modified, also make sure they are compatible with the current version.
  3. If the problem still exists(very unlikely), try to make a new clone.
  4. Check if this is there is an issue/PR related to your problem. If yes, try their solutions.
  5. If none of them works, you may make an issue to ask for help.(optional)

Acknowledgments

Third Party Libraries

trime's People

Contributors

a342191555 avatar archerindigo avatar bambooin avatar boboiqiqi avatar cabins avatar cgcel avatar clsty avatar cognition9144 avatar dnd163 avatar freed-wu avatar goofyz avatar gshang2017 avatar hchunhui avatar hebo6 avatar heiher avatar henry-zhr avatar infinityloop1308 avatar iovxw avatar nopdan avatar osfans avatar prcuvu avatar shellwen avatar shewer avatar shitlime avatar thelastlin avatar tumuyan avatar unlsycn avatar whiredplanck avatar wind011 avatar zbinlin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

trime's Issues

多頁鍵盤

输入emoji表情时要切换到emoji输入方案略显不便。

没有删除“用户词”的功能

例如:小狼毫默认编码编辑组合键(拼音):Shift或Ctrl+BackSpace,回退一个音节,Shift+Delete删除用户词,Shift+←光标左移一个音节,Shift+→光标右移一个音节,Shift+↑上一个候选词,Shift+↓下一个候选词,Shift+Home光标第一个编码,Shift+Eng光标右移一个编码等等。

並擊

以實現librime中的宮保拼音

配色方案

鍵盤:

鍵盤背景顏色、鍵盤背景圖片

鍵位背景顏色(字符鍵和功能鍵)

前景字符顏色

鍵位按下的顏色


狀態欄(輸入候選欄)參照小狼毫weasel.yaml:

輸入碼大小和顏色

第一候選的顏色和背景色

非第一候選的顏色和背景色

反查碼顏色


舊事重提,給個題目,有沒有答案不緊要。

編譯環境

README 裏面能不能列出編譯的環境,我也想加入。

编译bin文件时出现闪退

OS:Android 4.4.2
Version:trime-20151218

下载并放置完成brise文件夹之后,点击“部署”即瞬间退出,点击“配色”无任何响应。
而导入ibus编译的bin文件却能够正常使用,但部分单字无法打出。

请问该如何解决,谢谢!

希望增加一键语言切换

如 Google 输入法以及 iOS 自带一样,希望可以把地球图标做成一键切换下一个其他输入平台,长按弹出输入平台列表。同时,地球左侧「…」也希望可以做成一键直接切换输入平台内下一输入方案,长按弹出平台内输入方案列表供选择。谢谢。

浏览器编辑网址自动清空

手机:红米1S
浏览器:红米自带、搜狗浏览器
输入法:trime-20151228
打开网站后,点击地址栏编辑网址时会自动清空网址。

支持联想功能吗

比如输入“中”后,能联想到“**”,“中间”... ...

这个功能Librime中也没有吗?

【功能请求】长按字母弹出选框

例如谷歌的输入法中长按a键可选择@和a的各种变音字母(汉语拼音、其他语言的变音字母等)。
希望trime可以增加这个功能。

长按退格键后,再长按其他键变为连续短按

重现方法:

  1. 9月30日版本,默认配置、中文、半角、汉字;
  2. 在一个空文本框长按退格键直到Preview层消失;
  3. 长按任意键(如a键,或上档键,或中英文切换键,或数字键盘切换键),观察异样

文本选择功能

这是个非常好的输入法,我使用过程中发现几个问题。
我用的是emui3.1系统,同文20151030。

从数字键盘切换回字母键盘不能记住原来字母中英文状态,虽然可以用2套字母、数字键盘解决,不过每个输入方案定义2套键盘比较麻烦。

如果一个按键比较长,点击这个按键的两侧无作用。

希望实现文本选择功能,先按 ”选择“ 然后通过 上下左右 方向键选择文本。

destroy時卡住

切換方案、同步、關閉,都會卡住。未生效時,需要重啓機器。

上滑輸入符號/字母

不知道能不能做成像Google輸入法那樣,用上下滑動輸入大寫字母、小寫字母或相應符號。

關於 OpenCC 的問題

版本:20151225
同文的 OpenCC 是否與小狼毫不通用?在同文上使用小狼毫附帶的 OpenCC 無法正確轉換。

跟旋转屏幕有关的两个崩溃现象

新春快乐!
过年期间,发现之前说的同文在微信公众号界面崩溃是有规律的。
重现的方法如下:

  1. 打开任意一个微信公众号
  2. 持手机侧卧,就像下面这幅图中这样
     侧卧持手机
  3. 点击公众号下方的输入框,呼出同文的键盘
  4. 输入任意字上屏或者什么也不做
  5. 点击返回键收起键盘
  6. 再点击此公众号的任意一篇文章,在载入文章的过程中,同文输入法就会崩溃
  • 崩溃的概率在90%以上
  • 只在人侧卧(手机侧立)时会这样,平放或直立手机都不会崩溃
  • 打开或关闭屏幕旋转功能都一样

还有一个相关的问题,在qq上旋转屏幕会崩溃

  1. 打开手机的屏幕旋转功能
  2. 打开qq或者qq国际版
  3. 在好友对话界面,点击输入框,呼出同文键盘
  4. 不做任何输入,直接按返回键收起键盘
  5. 旋转手机屏幕到另一个方向,同文输入法马上就崩溃
  • 这两个问题是从20151222版开始才有的,试过12021204版,都没问题。
  • 试过删除rime文件夹,不加载任何方案,也一样。
  • 在另一部安卓2.3.5的手机上也可以重现这个问题

0328版切换方案会卡住

最新这三版都会这样,部署时也会这样。
补充:
全部初始化,只保留朙月拼音,部署时也会卡住。换回旧版就ok。

浏览器的地址栏能否单独记忆中英状态?

现今的浏览器都有地址栏搜索功能,直接输入中文关键词即可进行搜索。在这种情况下,每次选中地址栏都自动切到英文模式反而不方便了。

可否让地址栏单独记忆中英状态?像谷歌触宝这些输入法就是这样做的:
用户上次使用地址栏时切到了什么状态,那么这次仍然沿用上次的状态,这样可以兼顾不同用户的使用习惯。

而且,即使在中文状态,rime也能很快捷地识别编码中的url,对网址输入也没影响。

不同状态下候选字栏字符高度跳变

重现方法:

  1. 9月30日版本,默认配置、中文、半角、汉字;
  2. 按 a,再按退格,观察候选字列表“中文 半角 空格”的高度;
    3.按 1,观察候选字栏“中文 半角 空格”高度下降

实体键盘模式下的中英文混输

trime版本:160120

描述:在连接蓝牙/实体键盘后,无法像屏幕键盘一般进行中英文混输。
举例输入“这里有一个issue”,就无法通过输入回车的方式输入issue。

另外,当打开大写开关后,trime自动切换至“西文”模式,若要重新进入中文模式还需点击屏幕切换,是否能有快捷键或其他方式一边加快输入?

可能有些描述上的不确切。。
以上。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.