├── .gitignore
├── .gradle
└── 3.3
│ └── taskArtifacts
│ ├── fileHashes.bin
│ ├── fileSnapshots.bin
│ ├── taskArtifacts.bin
│ └── taskArtifacts.lock
├── .idea
├── compiler.xml
├── copyright
│ └── profiles_settings.xml
├── encodings.xml
├── gradle.xml
├── libraries
│ └── support_v4_19_1_0.xml
├── misc.xml
├── modules.xml
└── workspace.xml
├── README.md
├── app
├── build.gradle
├── lint.xml
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ ├── hwdata.bin
│ ├── writableZHCN.dic
│ └── writableZHCN.dic-journal
│ ├── java
│ └── com
│ │ ├── example
│ │ └── softwaretest
│ │ │ ├── BaseApplication.java
│ │ │ ├── HWService.java
│ │ │ ├── InputService.java
│ │ │ ├── InputViewActivity.java
│ │ │ ├── MainActivity.java
│ │ │ ├── MySoftWare.java
│ │ │ ├── Rsa.java
│ │ │ └── SimpleSkin.java
│ │ ├── googlecode
│ │ └── openwnn
│ │ │ └── legacy
│ │ │ ├── CLOUDSONG
│ │ │ ├── CandidateCallback.java
│ │ │ ├── CandidateCreator.java
│ │ │ ├── CandidateView.java
│ │ │ ├── CloudKeyboardInputManager.java
│ │ │ ├── OnCandidateSelected.java
│ │ │ ├── OnPinyinQueryed.java
│ │ │ └── PinyinQueryResult.java
│ │ │ ├── CandidateFilter.java
│ │ │ ├── CandidateViewButton.java
│ │ │ ├── CandidatesViewManager.java
│ │ │ ├── ComposingText.java
│ │ │ ├── DefaultSoftKeyboard.java
│ │ │ ├── InputViewManager.java
│ │ │ ├── LetterConverter.java
│ │ │ ├── OnHandWritingRecognize.java
│ │ │ ├── OpenWnn.java
│ │ │ ├── OpenWnnDictionaryImpl.java
│ │ │ ├── OpenWnnDictionaryImplJni.java
│ │ │ ├── OpenWnnEvent.java
│ │ │ ├── OpenWnnZHCN.java
│ │ │ ├── StrSegment.java
│ │ │ ├── StrSegmentClause.java
│ │ │ ├── SymbolList.java
│ │ │ ├── TextCandidatesViewManager.java
│ │ │ ├── WnnClause.java
│ │ │ ├── WnnDictionary.java
│ │ │ ├── WnnEngine.java
│ │ │ ├── WnnPOS.java
│ │ │ ├── WnnSentence.java
│ │ │ ├── WnnWord.java
│ │ │ ├── ZH
│ │ │ ├── CN
│ │ │ │ ├── KeyboardListPreferenceZHCN.java
│ │ │ │ ├── OpenWnnEngineZHCN.java
│ │ │ │ └── TutorialZHCN.java
│ │ │ ├── ConsonantPrediction.java
│ │ │ ├── DefaultSoftKeyboardZH.java
│ │ │ ├── LetterConverterZH.java
│ │ │ ├── OpenWnnClauseConverterZH.java
│ │ │ ├── OpenWnnEngineZH.java
│ │ │ └── PinyinParser.java
│ │ │ └── handwritingboard
│ │ │ └── HandWritingBoardLayout.java
│ │ └── wwengine
│ │ └── hw
│ │ └── WWHandWrite.java
│ ├── jniLibs
│ └── armeabi
│ │ ├── libWnnEngDic.so
│ │ ├── libWnnJpnDic.so
│ │ ├── libWnnZHCNDic.so
│ │ ├── libdwEngineHw.so
│ │ └── libwnndict.so
│ └── res
│ ├── drawable-hdpi
│ └── ic_launcher.png
│ ├── drawable-mdpi
│ └── ic_launcher.png
│ ├── drawable-xhdpi
│ └── ic_launcher.png
│ ├── drawable-xxhdpi
│ └── ic_launcher.png
│ ├── drawable
│ ├── cand_back.xml
│ ├── cand_back_normal.9.png
│ ├── cand_back_pressed.9.png
│ ├── cand_down.png
│ ├── cand_down_press.png
│ ├── cand_up.png
│ ├── cand_up_press.png
│ ├── candidate.png
│ ├── dialog_bubble.9.png
│ ├── dialog_bubble_moji.9.png
│ ├── dialog_bubble_symbol.9.png
│ ├── dialog_bubble_undo.9.png
│ ├── icon.png
│ ├── immodeic_chinese.png
│ ├── immodeic_full_alphabet.png
│ ├── immodeic_full_kana.png
│ ├── immodeic_full_number.png
│ ├── immodeic_half_alphabet.png
│ ├── immodeic_half_kana.png
│ ├── immodeic_half_number.png
│ ├── immodeic_hiragana.png
│ ├── key_12key_alpha0.png
│ ├── key_12key_alpha0_b.png
│ ├── key_12key_alpha1.png
│ ├── key_12key_alpha1_b.png
│ ├── key_12key_alpha2.png
│ ├── key_12key_alpha2_b.png
│ ├── key_12key_alpha3.png
│ ├── key_12key_alpha3_b.png
│ ├── key_12key_alpha4.png
│ ├── key_12key_alpha4_b.png
│ ├── key_12key_alpha5.png
│ ├── key_12key_alpha5_b.png
│ ├── key_12key_alpha6.png
│ ├── key_12key_alpha6_b.png
│ ├── key_12key_alpha7.png
│ ├── key_12key_alpha7_b.png
│ ├── key_12key_alpha8.png
│ ├── key_12key_alpha8_b.png
│ ├── key_12key_alpha9.png
│ ├── key_12key_alpha9_b.png
│ ├── key_12key_caps.png
│ ├── key_12key_caps_b.png
│ ├── key_12key_dakuten.png
│ ├── key_12key_dakuten_b.png
│ ├── key_12key_eisukana.png
│ ├── key_12key_eisukana_b.png
│ ├── key_12key_hiragana0.png
│ ├── key_12key_hiragana0_b.png
│ ├── key_12key_hiragana1.png
│ ├── key_12key_hiragana1_b.png
│ ├── key_12key_hiragana2.png
│ ├── key_12key_hiragana2_b.png
│ ├── key_12key_hiragana3.png
│ ├── key_12key_hiragana3_b.png
│ ├── key_12key_hiragana4.png
│ ├── key_12key_hiragana4_b.png
│ ├── key_12key_hiragana5.png
│ ├── key_12key_hiragana5_b.png
│ ├── key_12key_hiragana6.png
│ ├── key_12key_hiragana6_b.png
│ ├── key_12key_hiragana7.png
│ ├── key_12key_hiragana7_b.png
│ ├── key_12key_hiragana8.png
│ ├── key_12key_hiragana8_b.png
│ ├── key_12key_hiragana9.png
│ ├── key_12key_hiragana9_b.png
│ ├── key_12key_left.png
│ ├── key_12key_left_b.png
│ ├── key_12key_period_comma.png
│ ├── key_12key_period_comma_b.png
│ ├── key_12key_reverse.png
│ ├── key_12key_reverse_b.png
│ ├── key_12key_right.png
│ ├── key_12key_right_b.png
│ ├── key_12key_ten.png
│ ├── key_12key_ten_b.png
│ ├── key_cn_mode_change_b.png
│ ├── key_cn_mode_full_num.png
│ ├── key_cn_mode_half_alpha.png
│ ├── key_cn_mode_half_num.png
│ ├── key_cn_mode_pinyin.png
│ ├── key_del.png
│ ├── key_del_b.png
│ ├── key_en_mode_change_b.png
│ ├── key_en_mode_half_alpha.png
│ ├── key_en_mode_half_num.png
│ ├── key_enter.png
│ ├── key_enter_b.png
│ ├── key_enter_jp.png
│ ├── key_enter_jp_b.png
│ ├── key_jp_mode_change_b.png
│ ├── key_jp_mode_full_alpha.png
│ ├── key_jp_mode_full_kata.png
│ ├── key_jp_mode_full_num.png
│ ├── key_jp_mode_half_alpha.png
│ ├── key_jp_mode_half_kata.png
│ ├── key_jp_mode_half_num.png
│ ├── key_jp_mode_hira.png
│ ├── key_mode_panel_kbd.png
│ ├── key_mode_panel_kbd_12key.png
│ ├── key_mode_panel_kbd_12key_b.png
│ ├── key_mode_panel_kbd_b.png
│ ├── key_qwerty_shift.png
│ ├── key_qwerty_shift_b.png
│ ├── key_space.png
│ ├── key_space_b.png
│ ├── key_space_conv.png
│ ├── key_space_conv_b.png
│ ├── keybg_metal.png
│ ├── keybg_metal_def.xml
│ ├── keybg_metal_p.png
│ ├── keybg_metal_psftoff.png
│ ├── keybg_metal_psfton.png
│ ├── keybg_metal_sftoff.png
│ ├── keybg_metal_sfton.png
│ ├── keybg_simple.9.png
│ ├── keybg_simple_bg.png
│ ├── keybg_simple_def.xml
│ ├── keybg_simple_p.9.png
│ ├── keybg_simple_psftoff.9.png
│ ├── keybg_simple_psfton.9.png
│ ├── keybg_simple_sftoff.9.png
│ ├── keybg_simple_sfton.9.png
│ ├── tutorial_12key_enter.png
│ ├── tutorial_12key_key.png
│ ├── tutorial_12key_left.png
│ ├── tutorial_12key_mode.png
│ ├── tutorial_12key_right.png
│ ├── tutorial_12key_space_jp.png
│ ├── tutorial_12key_toggle.png
│ ├── tutorial_back.png
│ ├── word_full_space.png
│ └── word_half_space.png
│ ├── layout
│ ├── activity_loader.xml
│ ├── activity_main.xml
│ ├── bubble_text.xml
│ ├── candidate_scale_up.xml
│ ├── candidates.xml
│ ├── input_view.xml
│ ├── input_view_activity.xml
│ ├── input_view_windows.xml
│ ├── keyboard_android_default.xml
│ ├── keyboard_default_main.xml
│ ├── keyboard_default_sub.xml
│ ├── keyboard_metal.xml
│ ├── keyboard_simple.xml
│ ├── main.xml
│ ├── user_dictionary_tools_edit.xml
│ ├── user_dictionary_tools_edit_header.xml
│ ├── user_dictionary_tools_list.xml
│ ├── user_dictionary_tools_list_header.xml
│ ├── user_dictionary_tools_list_header_ja.xml
│ └── user_dictionary_tools_list_header_zhcn.xml
│ ├── values-sw600dp
│ └── dimens.xml
│ ├── values-sw720dp-land
│ └── dimens.xml
│ ├── values-v11
│ └── styles.xml
│ ├── values-v14
│ └── styles.xml
│ ├── values
│ ├── arrays.xml
│ ├── colors.xml
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
│ └── xml
│ ├── default_cn_full_symbols.xml
│ ├── default_cn_full_symbols_shift.xml
│ ├── default_cn_half_symbols.xml
│ ├── default_cn_half_symbols_shift.xml
│ ├── default_cn_qwerty.xml
│ ├── default_cn_qwerty_pinyin.xml
│ ├── default_cn_qwerty_pinyin_shift.xml
│ ├── default_cn_switch_key.xml
│ ├── default_en_qwerty.xml
│ ├── default_en_switch_key.xml
│ ├── default_en_symbols.xml
│ ├── default_en_symbols_shift.xml
│ ├── keyboard_12key_full_alphabet.xml
│ ├── keyboard_12key_full_alphabet_input.xml
│ ├── keyboard_12key_full_katakana.xml
│ ├── keyboard_12key_full_katakana_input.xml
│ ├── keyboard_12key_full_num.xml
│ ├── keyboard_12key_half_alphabet.xml
│ ├── keyboard_12key_half_alphabet_input.xml
│ ├── keyboard_12key_half_katakana.xml
│ ├── keyboard_12key_half_katakana_input.xml
│ ├── keyboard_12key_half_num.xml
│ ├── keyboard_12key_phone.xml
│ ├── keyboard_12keyjp.xml
│ ├── keyboard_12keyjp_input.xml
│ ├── keyboard_qwerty_jp.xml
│ ├── keyboard_qwerty_jp_full_alphabet.xml
│ ├── keyboard_qwerty_jp_full_alphabet_landscape.xml
│ ├── keyboard_qwerty_jp_full_alphabet_shift.xml
│ ├── keyboard_qwerty_jp_full_alphabet_shift_landscape.xml
│ ├── keyboard_qwerty_jp_full_katakana.xml
│ ├── keyboard_qwerty_jp_full_katakana_landscape.xml
│ ├── keyboard_qwerty_jp_full_katakana_shift.xml
│ ├── keyboard_qwerty_jp_full_katakana_shift_landscape.xml
│ ├── keyboard_qwerty_jp_full_symbols.xml
│ ├── keyboard_qwerty_jp_full_symbols_landscape.xml
│ ├── keyboard_qwerty_jp_full_symbols_shift.xml
│ ├── keyboard_qwerty_jp_full_symbols_shift_landscape.xml
│ ├── keyboard_qwerty_jp_half_alphabet.xml
│ ├── keyboard_qwerty_jp_half_alphabet_landscape.xml
│ ├── keyboard_qwerty_jp_half_alphabet_shift.xml
│ ├── keyboard_qwerty_jp_half_alphabet_shift_landscape.xml
│ ├── keyboard_qwerty_jp_half_katakana.xml
│ ├── keyboard_qwerty_jp_half_katakana_landscape.xml
│ ├── keyboard_qwerty_jp_half_katakana_shift.xml
│ ├── keyboard_qwerty_jp_half_katakana_shift_landscape.xml
│ ├── keyboard_qwerty_jp_half_symbols.xml
│ ├── keyboard_qwerty_jp_half_symbols_landscape.xml
│ ├── keyboard_qwerty_jp_half_symbols_shift.xml
│ ├── keyboard_qwerty_jp_half_symbols_shift_landscape.xml
│ ├── keyboard_qwerty_jp_landscape.xml
│ ├── keyboard_qwerty_jp_shift.xml
│ ├── keyboard_qwerty_jp_shift_landscape.xml
│ ├── keyboard_switch_key_jp.xml
│ ├── keyboard_switch_key_qwerty_jp.xml
│ ├── method_en.xml
│ ├── method_ja.xml
│ ├── method_zhcn.xml
│ ├── openwnn_pref_en.xml
│ ├── openwnn_pref_ja.xml
│ ├── openwnn_pref_zhcn.xml
│ ├── symbols_china_list.xml
│ ├── symbols_emotion_list.xml
│ ├── symbols_japan_list.xml
│ ├── symbols_latin12_list.xml
│ ├── symbols_latin1_list.xml
│ └── symbols_latin2_list.xml
├── build.gradle
├── build
├── android-profile
│ ├── profile-2017-04-20-18-09-46-996.rawproto
│ └── profile-2017-04-20-18-09-49-236.rawproto
└── generated
│ └── mockable-android-19.jar
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── import-summary.txt
├── local.properties
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 | /app/build/
2 | /.gradle/
3 | /build/android-profile/
4 | /build/
5 | /*.zip
6 | /.idea/
7 | /app/release/
8 | /.idea/libraries
9 | /.idea/libraries/
10 | app/build/
11 |
--------------------------------------------------------------------------------
/.gradle/3.3/taskArtifacts/fileHashes.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/.gradle/3.3/taskArtifacts/fileHashes.bin
--------------------------------------------------------------------------------
/.gradle/3.3/taskArtifacts/fileSnapshots.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/.gradle/3.3/taskArtifacts/fileSnapshots.bin
--------------------------------------------------------------------------------
/.gradle/3.3/taskArtifacts/taskArtifacts.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/.gradle/3.3/taskArtifacts/taskArtifacts.bin
--------------------------------------------------------------------------------
/.gradle/3.3/taskArtifacts/taskArtifacts.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/.gradle/3.3/taskArtifacts/taskArtifacts.lock
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
19 |
20 |
--------------------------------------------------------------------------------
/.idea/libraries/support_v4_19_1_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | 1.8
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Handwriting for Trime
2 | 为Android平台的rime输入法TRIME(同文输入法)设计的手写输入插件。作为手写插件,需要给予悬浮窗权限、自启动权限。
3 | 但是由于pr未能通过,现在只能在我编译的同文中使用,或者把它当作一个简易的独立的手写输入法使用(没有设计引导,需要手动在系统的语言与输入法-输入法管理中启用“手写”,并切换到手写方案)。
4 | 经调查确认,此项目代码来自[openwnn](https://android.googlesource.com/platform/packages/inputmethods/OpenWnn/)
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdk 33
5 |
6 | defaultConfig {
7 | applicationId "com.example.input"
8 | minSdkVersion 17
9 | targetSdkVersion 31
10 | ndk {
11 | abiFilters "armeabi"
12 | }
13 | }
14 |
15 | buildTypes {
16 | release {
17 | minifyEnabled false
18 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
19 | }
20 | }
21 | ndkVersion '25.2.9519653'
22 |
23 | }
24 |
25 | dependencies {
26 | implementation fileTree(include: ['*.so'], dir: 'jniLibs')
27 | implementation 'androidx.legacy:legacy-support-v4:1.0.0'
28 | implementation "androidx.appcompat:appcompat:$appcompatVersion"
29 | implementation 'com.google.android.material:material:1.9.0'
30 | implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
31 | }
32 |
--------------------------------------------------------------------------------
/app/lint.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
23 |
24 |
27 |
28 |
29 |
30 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
46 |
47 |
48 |
49 |
50 |
53 |
54 |
55 |
56 |
61 |
64 |
65 |
68 |
69 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/app/src/main/assets/hwdata.bin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/assets/hwdata.bin
--------------------------------------------------------------------------------
/app/src/main/assets/writableZHCN.dic:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/assets/writableZHCN.dic
--------------------------------------------------------------------------------
/app/src/main/assets/writableZHCN.dic-journal:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/assets/writableZHCN.dic-journal
--------------------------------------------------------------------------------
/app/src/main/java/com/example/softwaretest/BaseApplication.java:
--------------------------------------------------------------------------------
1 | package com.example.softwaretest;
2 |
3 | import java.io.File;
4 | import java.io.FileOutputStream;
5 | import java.io.IOException;
6 | import java.io.InputStream;
7 | import java.io.OutputStream;
8 |
9 | import android.app.Application;
10 | import android.content.Context;
11 | import android.content.res.AssetManager;
12 | import android.util.Log;
13 |
14 | public class BaseApplication extends Application {
15 |
16 | public static Context context;
17 |
18 | @Override
19 | public void onCreate() {
20 | super.onCreate();
21 | context = this;
22 |
23 | try {
24 | copyFile(context,"writableZHCN.dic",false);
25 | copyFile(context,"writableZHCN.dic-journal",false);
26 | } catch (Exception e) {
27 | e.printStackTrace();
28 | }
29 | }
30 |
31 | public static void copyFile(Context context, String fileName, boolean overwrite) {
32 | if (fileName == null) return;
33 |
34 | File f = context.getFilesDir();
35 | if(!f.exists())
36 | f.mkdir();
37 | File file = new File(f,fileName);
38 | if (file.exists() && !overwrite) return;
39 |
40 | final String targetFileName =file.getPath();
41 |
42 | Log.i("copyFile",targetFileName);
43 |
44 | final AssetManager assetManager = context.getAssets();
45 | try (InputStream in = assetManager.open(fileName);
46 | final FileOutputStream out = new FileOutputStream(targetFileName)) {
47 | final byte[] buffer = new byte[1024];
48 | int read;
49 | while ((read = in.read(buffer)) != -1) {
50 | out.write(buffer, 0, read);
51 | }
52 | out.flush();
53 | } catch (IOException e) {
54 | e.printStackTrace();
55 | }
56 | }
57 |
58 |
59 | public static Context getContext() {
60 | return context;
61 | }
62 |
63 | public static String composeLocation(String fileName) {
64 | File f = context.getFilesDir();
65 | if(!f.exists())
66 | f.mkdir();
67 | File file = new File(f,fileName);
68 | Log.i("path",file.getAbsolutePath());
69 | return file.getAbsolutePath();
70 | }
71 |
72 | public static String libPath(String fileName) {
73 | File f = context.getFilesDir();
74 | if(!f.exists())
75 | f.mkdir();
76 |
77 | File file = new File(f.getParent(),"lib"+File.separator+fileName);
78 | Log.i("libpath",file.getAbsolutePath());
79 | return file.getAbsolutePath();
80 | }
81 |
82 | }
83 |
--------------------------------------------------------------------------------
/app/src/main/java/com/example/softwaretest/MainActivity.java:
--------------------------------------------------------------------------------
1 | package com.example.softwaretest;
2 |
3 | import android.app.Activity;
4 | import android.os.Bundle;
5 |
6 | public class MainActivity extends Activity {
7 |
8 | @Override
9 | protected void onCreate(Bundle savedInstanceState) {
10 | super.onCreate(savedInstanceState);
11 | setContentView(R.layout.activity_main);
12 |
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/app/src/main/java/com/example/softwaretest/SimpleSkin.java:
--------------------------------------------------------------------------------
1 | package com.example.softwaretest;
2 |
3 | import java.io.Serializable;
4 |
5 | public class SimpleSkin implements Serializable {
6 | private int root_background_color;
7 | private String root_background_img;
8 |
9 | private int key_back_color;
10 | private String key_back_img;
11 | private int key_text_color;
12 |
13 | private int keyboard_back_color;
14 | private String keyboard_back_img;
15 |
16 | private int candidate_background_color;
17 | private String candidate_background_img;
18 | private int hilited_candidate_back_color;
19 | private String hilited_candidate_back_img;
20 |
21 | private int candidate_view_height;
22 | private int height;
23 | private int candidate_padding;
24 | private int candidate_spacing;
25 |
26 | private int candidate_text_color;
27 | private int hilited_candidate_text_color;
28 |
29 |
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/CLOUDSONG/CandidateCallback.java:
--------------------------------------------------------------------------------
1 | package com.googlecode.openwnn.legacy.CLOUDSONG;
2 |
3 | import com.googlecode.openwnn.legacy.WnnEngine;
4 |
5 | /**
6 | * Created by lvhonghe on 16/4/15.
7 | */
8 | public interface CandidateCallback {
9 |
10 | public void displayCandidate(WnnEngine converter);
11 | }
12 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/CLOUDSONG/CandidateCreator.java:
--------------------------------------------------------------------------------
1 | package com.googlecode.openwnn.legacy.CLOUDSONG;
2 |
3 | /**
4 | * Created by lvhonghe on 16/4/14.
5 | */
6 | public class CandidateCreator {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/CLOUDSONG/CloudKeyboardInputManager.java:
--------------------------------------------------------------------------------
1 | package com.googlecode.openwnn.legacy.CLOUDSONG;
2 |
3 | import com.googlecode.openwnn.legacy.OpenWnnZHCN;
4 | import com.googlecode.openwnn.legacy.WnnEngine;
5 | import com.googlecode.openwnn.legacy.WnnWord;
6 |
7 | import java.util.ArrayList;
8 |
9 | /**
10 | * Created by lvhonghe on 16/4/28.
11 | */
12 | public class CloudKeyboardInputManager implements CandidateCallback {
13 |
14 |
15 | private OpenWnnZHCN mOpenWnnZHCN = new OpenWnnZHCN();
16 |
17 |
18 | private StringBuilder currentPinYin = new StringBuilder();
19 |
20 | private StringBuilder commitedText = new StringBuilder();
21 |
22 | private int currentIndex = 0;
23 |
24 | private OnPinyinQueryed mOnPinyinQueryed;
25 |
26 | private ArrayList mCurrentResult;
27 |
28 | public CloudKeyboardInputManager() {
29 | mOpenWnnZHCN.setCandidateCallBack(this);
30 | }
31 |
32 | public void processInput(char[] chars) {
33 |
34 | mOpenWnnZHCN.processSoftKeyboardCode(chars);
35 | currentPinYin.append(chars);
36 | }
37 |
38 | private void processSpace() {
39 | //// TODO: 16/4/29 空格做特殊处理
40 | currentPinYin.append(" ");
41 | keyboardActionCallBack();
42 | }
43 |
44 | public void processDel() {
45 | mOpenWnnZHCN.deleteBy1();
46 | if(currentPinYin.length() > 0 ) {
47 | currentPinYin.deleteCharAt(currentPinYin.length() - 1);
48 | }
49 | keyboardActionCallBack();
50 | }
51 |
52 | public void delAll() {
53 | int loop = currentPinYin.length();
54 | for(int i = 0; i < loop; ++i) {
55 | mOpenWnnZHCN.deleteBy1();
56 | }
57 | if(loop > 0) {
58 | currentPinYin.delete(0, loop);
59 | }
60 | }
61 |
62 | private static final int COUNT_LIMIT = 300;
63 |
64 | private void candidateQueryed(WnnEngine converter) {
65 | if (converter == null) {
66 | return;
67 | }
68 |
69 |
70 | /* Concatenate the candidates already got and the last one in dispFirst mode */
71 | int displayLimit = -1;
72 | /* Get candidates */
73 | WnnWord result = null;
74 |
75 |
76 | ArrayList resultList = new ArrayList();
77 | //// TODO: 16/4/18 增加退出条件
78 | int count = 0;
79 | while (displayLimit == -1 && count < COUNT_LIMIT ) {
80 |
81 | count++;
82 |
83 | try {
84 | result = converter.getNextCandidate();
85 |
86 | if (result == null) {
87 | break;
88 | }
89 | resultList.add(result);
90 |
91 | } catch (Exception e) {
92 | e.printStackTrace();
93 | break;
94 | }
95 |
96 |
97 |
98 | //TODO 增加刷新界面的机制
99 | //TODO 增加中途退出机制;
100 |
101 | }
102 |
103 | //TODO 回调机制
104 | mCurrentResult = resultList;
105 | keyboardActionCallBack();
106 | return;
107 | }
108 |
109 |
110 | private void appendCandidate(String candidate) {
111 | currentIndex += candidate.length();
112 | }
113 |
114 | public void setOnPinyinQueryed(OnPinyinQueryed onPYQueryed) {
115 | this.mOnPinyinQueryed = onPYQueryed;
116 | }
117 |
118 | private void keyboardActionCallBack() {
119 | if(mOnPinyinQueryed != null) {
120 | mOnPinyinQueryed.onPinyinQueryed(new PinyinQueryResult(mCurrentResult, currentPinYin.toString()));
121 | }
122 | }
123 |
124 | @Override
125 | public void displayCandidate(WnnEngine converter) {
126 | candidateQueryed(converter);
127 | }
128 |
129 | public void candidateSelected(WnnWord word) {
130 | mOpenWnnZHCN.commitTextSelected(word);
131 | currentPinYin.delete(0, currentPinYin.length());
132 | }
133 | }
134 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/CLOUDSONG/OnCandidateSelected.java:
--------------------------------------------------------------------------------
1 | package com.googlecode.openwnn.legacy.CLOUDSONG;
2 |
3 | import com.googlecode.openwnn.legacy.WnnWord;
4 |
5 | /**
6 | * Created by lvhonghe on 16/4/22.
7 | */
8 | public interface OnCandidateSelected {
9 |
10 | public void candidateSelected(WnnWord candidate);
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/CLOUDSONG/OnPinyinQueryed.java:
--------------------------------------------------------------------------------
1 | package com.googlecode.openwnn.legacy.CLOUDSONG;
2 |
3 | /**
4 | * Created by lvhonghe on 16/4/29.
5 | */
6 | public interface OnPinyinQueryed {
7 | public void onPinyinQueryed(PinyinQueryResult pyQueryResult);
8 | }
9 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/CLOUDSONG/PinyinQueryResult.java:
--------------------------------------------------------------------------------
1 | package com.googlecode.openwnn.legacy.CLOUDSONG;
2 |
3 | import com.googlecode.openwnn.legacy.WnnWord;
4 |
5 | import java.util.ArrayList;
6 |
7 | /**
8 | * Created by lvhonghe on 16/4/28.
9 | */
10 | public class PinyinQueryResult {
11 | private ArrayList candidateList;
12 | private String currentInput;
13 |
14 | public PinyinQueryResult(ArrayList candidateList, String currentInput) {
15 | this.candidateList = candidateList;
16 | this.currentInput = currentInput;
17 | }
18 |
19 | public ArrayList getCandidateList() {
20 | return candidateList;
21 | }
22 |
23 | public String getCurrentInput() {
24 | return currentInput;
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/CandidateFilter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.googlecode.openwnn.legacy;
18 |
19 | /**
20 | * The filter class for candidates.
21 | * This class is used for filtering candidates by {link WnnEngine}.
22 | *
23 | * @author Copyright (C) 2009 OMRON SOFTWARE CO., LTD. All Rights Reserved.
24 | *
25 | */
26 | public class CandidateFilter {
27 | /** Filtering pattern (No filter) */
28 | public static final int FILTER_NONE = 0x0;
29 | /** Filtering pattern (Non ASCII) */
30 | public static final int FILTER_NON_ASCII = 0x2;
31 |
32 | /** Current filter type */
33 | public int filter = 0;
34 |
35 | /**
36 | * Checking whether a specified word is filtered.
37 | *
38 | * @param word A word
39 | * @return {@code true} if the word is allowed; {@code false} if the word is denied.
40 | */
41 | public boolean isAllowed(WnnWord word) {
42 | if (filter == 0) {
43 | return true;
44 | }
45 | if ((filter & FILTER_NON_ASCII) != 0) {
46 | String str = word.candidate;
47 | for (int i = 0; i < str.length(); i++) {
48 | if (str.charAt(i) < 0x20 || 0x7E < str.charAt(i)) {
49 | return false;
50 | }
51 | }
52 | }
53 | return true;
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/CandidateViewButton.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.googlecode.openwnn.legacy;
18 |
19 | import android.widget.Button;
20 | import android.view.MotionEvent;
21 | import android.view.View;
22 | import android.graphics.drawable.Drawable;
23 | import android.util.AttributeSet;
24 | import android.content.Context;
25 |
26 | /**
27 | * The button for the candidate-view
28 | * @author Copyright (C) 2009, OMRON SOFTWARE CO., LTD. All Rights Reserved.
29 | */
30 | public class CandidateViewButton extends Button {
31 |
32 | /** The state of up */
33 | private int[] mUpState;
34 |
35 | /** Constructor */
36 | public CandidateViewButton(Context context) {
37 | super(context);
38 | }
39 |
40 | /** Constructor */
41 | public CandidateViewButton(Context context, AttributeSet attrs) {
42 | super(context, attrs);
43 | }
44 |
45 | /** @see android.view.View#onTouchEvent */
46 | public boolean onTouchEvent(MotionEvent me) {
47 | /* for changing the button on CandidateView when it is pressed. */
48 |
49 | boolean ret = super.onTouchEvent(me);
50 | Drawable d = getBackground();
51 |
52 | switch (me.getAction()) {
53 | case MotionEvent.ACTION_DOWN:
54 | mUpState = d.getState();
55 | d.setState(View.PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET);
56 | break;
57 | case MotionEvent.ACTION_UP:
58 | default:
59 | d.setState(mUpState);
60 | break;
61 | }
62 |
63 | return ret;
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/CandidatesViewManager.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.googlecode.openwnn.legacy;
18 |
19 | import android.view.View;
20 | import android.content.SharedPreferences;
21 |
22 | /**
23 | * The interface of candidates view manager used by {@link OpenWnn}.
24 | *
25 | * @author Copyright (C) 2008, 2009 OMRON SOFTWARE CO., LTD. All Rights Reserved.
26 | */
27 | public interface CandidatesViewManager {
28 | /** Size of candidates view (normal) */
29 | public static final int VIEW_TYPE_NORMAL = 0;
30 | /** Size of candidates view (full) */
31 | public static final int VIEW_TYPE_FULL = 1;
32 | /** Size of candidates view (close/non-display) */
33 | public static final int VIEW_TYPE_CLOSE = 2;
34 |
35 | /**
36 | * Attribute of a word (no attribute)
37 | * @see com.googlecode.openwnn.legacy.WnnWord
38 | */
39 | public static final int ATTRIBUTE_NONE = 0;
40 | /**
41 | * Attribute of a word (a candidate in the history list)
42 | * @see com.googlecode.openwnn.legacy.WnnWord
43 | */
44 | public static final int ATTRIBUTE_HISTORY = 1;
45 | /**
46 | * Attribute of a word (the best candidate)
47 | * @see com.googlecode.openwnn.legacy.WnnWord
48 | */
49 | public static final int ATTRIBUTE_BEST = 2;
50 | /**
51 | * Attribute of a word (auto generated/not in the dictionary)
52 | * @see com.googlecode.openwnn.legacy.WnnWord
53 | */
54 | public static final int ATTRIBUTE_AUTO_GENERATED = 4;
55 |
56 | /**
57 | * Initialize the candidates view.
58 | *
59 | * @param parent The OpenWnn object
60 | * @param width The width of the display
61 | * @param height The height of the display
62 | *
63 | * @return The candidates view created in the initialize process; {@code null} if cannot create a candidates view.
64 | */
65 | public View initView(OpenWnn parent, int width, int height);
66 |
67 | /**
68 | * Get the candidates view being used currently.
69 | *
70 | * @return The candidates view; {@code null} if no candidates view is used currently.
71 | */
72 | public View getCurrentView();
73 |
74 | /**
75 | * Set the candidates view type.
76 | *
77 | * @param type The candidate view type
78 | */
79 | public void setViewType(int type);
80 |
81 | /**
82 | * Get the candidates view type.
83 | *
84 | * @return The view type
85 | */
86 | public int getViewType();
87 |
88 | /**
89 | * Display candidates.
90 | *
91 | * @param converter The {@link WnnEngine} from which {@link CandidatesViewManager} gets the candidates
92 | *
93 | * @see com.googlecode.openwnn.legacy.WnnEngine#getNextCandidate
94 | */
95 | public void displayCandidates(WnnEngine converter);
96 |
97 | /**
98 | * Clear and hide the candidates view.
99 | */
100 | public void clearCandidates();
101 |
102 | /**
103 | * Reflect the preferences in the candidates view.
104 | *
105 | * @param pref The preferences
106 | */
107 | public void setPreferences(SharedPreferences pref);
108 | }
109 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/InputViewManager.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.googlecode.openwnn.legacy;
18 |
19 | import android.view.View;
20 | import android.content.SharedPreferences;
21 | import android.view.inputmethod.EditorInfo;
22 |
23 | /**
24 | * The interface of input view manager used by OpenWnn.
25 | *
26 | * @author Copyright (C) 2009 OMRON SOFTWARE CO., LTD. All Rights Reserved.
27 | */
28 | public interface InputViewManager {
29 | /**
30 | * Initialize the input view.
31 | *
32 | * @param parent The OpenWnn object
33 | * @param width The width of the display
34 | * @param height The height of the display
35 | *
36 | * @return The input view created in the initialize process; {@code null} if cannot create a input view.
37 | */
38 | public View initView(OpenWnn parent, int width, int height);
39 |
40 | /**
41 | * Get the input view being used currently.
42 | *
43 | * @return The input view; {@code null} if no input view is used currently.
44 | */
45 | public View getCurrentView();
46 |
47 | /**
48 | * Notification of updating parent's state.
49 | *
50 | * @param parent The OpenWnn object using this manager
51 | */
52 | public void onUpdateState(OpenWnn parent);
53 |
54 | /**
55 | * Reflect the preferences in the input view.
56 | *
57 | * @param pref The preferences
58 | * @param editor The information about the editor
59 | */
60 | public void setPreferences(SharedPreferences pref, EditorInfo editor);
61 |
62 | /**
63 | * Close the input view.
64 | */
65 | public void closing();
66 | }
67 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/LetterConverter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.googlecode.openwnn.legacy;
18 |
19 | import android.content.SharedPreferences;
20 |
21 | /**
22 | * The interface of pre-converter for input string used by OpenWnn.
23 | *
24 | * This is a simple converter for Romaji-to-Kana input, Hangul input, etc.
25 | * Before converting the input string by {@link WnnEngine}, {@link OpenWnn} invokes this converter.
26 | *
27 | * @author Copyright (C) 2009 OMRON SOFTWARE CO., LTD. All Rights Reserved.
28 | */
29 | public interface LetterConverter {
30 | /**
31 | * Convert the layer #0 text(pressed key sequence) to layer #1 text(pre converted string).
32 | *
33 | * This conversion is used for converting some key input to a character.
34 | * For example, Latin capital letter conversion (ex: "'"+"a" to "á")",
35 | * Romaji-to-Kana conversion in Japanese (ex: "w"+"a" to "わ"),
36 | * Hangul conversion in Korean.
37 | *
38 | * @param text The text data includes input sequence(layer #0) and output area(layer #1)
39 | * @return {@code true} if conversion is completed; {@code false} if not.
40 | */
41 | public boolean convert(ComposingText text);
42 |
43 | /**
44 | * Reflect the preferences in the letter converter.
45 | *
46 | * @param pref The preferences
47 | */
48 | public void setPreferences(SharedPreferences pref);
49 | }
50 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/OnHandWritingRecognize.java:
--------------------------------------------------------------------------------
1 | package com.googlecode.openwnn.legacy;
2 |
3 | import com.googlecode.openwnn.legacy.WnnWord;
4 |
5 | import java.util.ArrayList;
6 |
7 | /**
8 | * Created by lvhonghe on 16/4/28.
9 | */
10 | public interface OnHandWritingRecognize {
11 | public void handWritingRecognized(ArrayList result);
12 | }
13 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/StrSegment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.googlecode.openwnn.legacy;
18 |
19 | /**
20 | * The information container class of segment in a string.
21 | *
22 | * This class defines information of a segment in a string, such as a character, a word or a clause.
23 | * It is used to represent the layers of the composing text ({@link ComposingText}).
24 | *
25 | * @author Copyright (C) 2009 OMRON SOFTWARE CO., LTD. All rights reserved.
26 | */
27 | public class StrSegment {
28 | /** The string */
29 | public String string;
30 | /** The start position */
31 | public int from;
32 | /** The end position */
33 | public int to;
34 |
35 | /**
36 | * Constructor
37 | */
38 | public StrSegment() {
39 | this(null, -1, -1);
40 | }
41 |
42 | /**
43 | * Constructor
44 | *
45 | * @param str The string
46 | */
47 | public StrSegment(String str) {
48 | this(str, -1, -1);
49 | }
50 |
51 | /**
52 | * Constructor
53 | *
54 | * @param chars The array of characters
55 | */
56 | public StrSegment(char[] chars) {
57 | this(new String(chars), -1, -1);
58 | }
59 |
60 | /**
61 | * Constructor
62 | *
63 | * @param str The string
64 | * @param from The start position
65 | * @param to The end position
66 | */
67 | public StrSegment(String str, int from, int to) {
68 | this.string = str;
69 | this.from = from;
70 | this.to = to;
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/StrSegmentClause.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.googlecode.openwnn.legacy;
18 |
19 | /**
20 | * The container class of {@link StrSegment} which includes a clause information for Japanese IME.
21 | *
22 | * @author Copyright (C) 2009 OMRON SOFTWARE CO., LTD. All rights reserved.
23 | */
24 | public class StrSegmentClause extends StrSegment {
25 | /** Clause information */
26 | public WnnClause clause;
27 |
28 | /**
29 | * Constructor
30 | *
31 | * @param clause The clause
32 | * @param from The start position
33 | * @param to The end position
34 | */
35 | public StrSegmentClause(WnnClause clause, int from, int to) {
36 | super(clause.candidate, from, to);
37 | this.clause = clause;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/WnnClause.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.googlecode.openwnn.legacy;
18 |
19 | /**
20 | * The container class of a clause.
21 | *
22 | * @author Copyright (C) 2009, OMRON SOFTWARE CO., LTD. All Rights Reserved.
23 | */
24 | public class WnnClause extends WnnWord {
25 |
26 | /**
27 | * Constructor
28 | *
29 | * @param candidate The string of the clause
30 | * @param stroke The reading of the clause
31 | * @param posTag The part of speech of the clause
32 | * @param frequency The frequency of the clause
33 | */
34 | public WnnClause(String candidate, String stroke, WnnPOS posTag, int frequency) {
35 | super(candidate,
36 | stroke,
37 | posTag,
38 | frequency);
39 | }
40 |
41 | /**
42 | * Constructor
43 | *
44 | * @param stroke The reading of the clause
45 | * @param stem The independent word part of the clause
46 | */
47 | public WnnClause (String stroke, WnnWord stem) {
48 | super(stem.id,
49 | stem.candidate,
50 | stroke,
51 | stem.partOfSpeech,
52 | stem.frequency,
53 | 0);
54 | }
55 |
56 | /**
57 | * Constructor
58 | *
59 | * @param stroke The reading of the clause
60 | * @param stem The independent word part of the clause
61 | * @param fzk The ancillary word part of the clause
62 | */
63 | public WnnClause (String stroke, WnnWord stem, WnnWord fzk) {
64 | super(stem.id,
65 | stem.candidate + fzk.candidate,
66 | stroke,
67 | new WnnPOS(stem.partOfSpeech.left, fzk.partOfSpeech.right),
68 | stem.frequency,
69 | 1);
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/WnnPOS.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.googlecode.openwnn.legacy;
18 |
19 | /**
20 | * The container class of a part of speech.
21 | *
22 | * @author Copyright (C) 2008-2009, OMRON SOFTWARE CO., LTD. All Rights Reserved.
23 | */
24 | public class WnnPOS {
25 | /** The part of speech at left side */
26 | public int left = 0;
27 |
28 | /** The part of speech at right side */
29 | public int right = 0;
30 |
31 | /**
32 | * Constructor
33 | */
34 | public WnnPOS() {}
35 |
36 | /**
37 | * Constructor
38 | *
39 | * @param left The part of speech at left side
40 | * @param right The part of speech at right side
41 | */
42 | public WnnPOS(int left, int right) {
43 | this.left = left;
44 | this.right = right;
45 | }
46 | }
47 |
48 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/ZH/CN/KeyboardListPreferenceZHCN.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.googlecode.openwnn.legacy.ZH.CN;
18 |
19 | import com.googlecode.openwnn.legacy.*;
20 |
21 | import android.content.Context;
22 | import android.preference.ListPreference;
23 | import android.util.AttributeSet;
24 |
25 | /**
26 | * The preference class of keyboard image list for Chinese IME.
27 | * This class notices to {@code OpenWnnZHCN} that the keyboard image is changed.
28 | *
29 | * @author Copyright (C) 2009 OMRON SOFTWARE CO., LTD.
30 | */
31 | public class KeyboardListPreferenceZHCN extends ListPreference {
32 | public KeyboardListPreferenceZHCN(Context context, AttributeSet attrs) {
33 | super(context, attrs);
34 | }
35 |
36 | public KeyboardListPreferenceZHCN(Context context) {
37 | this(context, null);
38 | }
39 |
40 | /** @see android.preference.DialogPreference#onDialogClosed */
41 | @Override protected void onDialogClosed(boolean positiveResult) {
42 | super.onDialogClosed(positiveResult);
43 |
44 | if (positiveResult) {
45 | OpenWnnZHCN wnn = OpenWnnZHCN.getInstance();
46 | int code = OpenWnnEvent.CHANGE_INPUT_VIEW;
47 | OpenWnnEvent ev = new OpenWnnEvent(code);
48 | try {
49 | wnn.onEvent(ev);
50 | } catch (Exception ex) {
51 | }
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/app/src/main/java/com/googlecode/openwnn/legacy/ZH/CN/OpenWnnEngineZHCN.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008,2009 OMRON SOFTWARE Co., Ltd.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.googlecode.openwnn.legacy.ZH.CN;
18 |
19 | import android.content.Context;
20 |
21 | import com.googlecode.openwnn.legacy.ZH.OpenWnnEngineZH;
22 |
23 | /**
24 | * The OpenWnn engine class for Chinese IME.
25 | *
26 | * @author Copyright (C) 2009 OMRON SOFTWARE CO., LTD. All Rights Reserved.
27 | */
28 | public class OpenWnnEngineZHCN extends OpenWnnEngineZH {
29 | /** Dictionary type (Chinese standard) */
30 | public static final int DIC_LANG_ZHCN = DIC_LANG_ZH;
31 | /** Dictionary type (Chinese person's name) */
32 | public static final int DIC_LANG_ZHCN_PERSON_NAME = DIC_LANG_ZH_PERSON_NAME;
33 | /** Dictionary type (Chinese EISU-KANA conversion) */
34 | public static final int DIC_LANG_ZHCN_EISUKANA = DIC_LANG_ZH_EISUKANA;
35 | /** Dictionary type (Chinese postal address) */
36 | public static final int DIC_LANG_ZHCN_POSTAL_ADDRESS = DIC_LANG_ZH_POSTAL_ADDRESS;
37 |
38 | /**
39 | * Constructor
40 | *
41 | * @param dicLib
42 | * The dictionary library file name
43 | * @param dicFilePath
44 | * The path name of writable dictionary(null if not use)
45 | */
46 | public OpenWnnEngineZHCN(String dicLib, String dicFilePath) {
47 | super(dicLib, dicFilePath);
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/app/src/main/java/com/wwengine/hw/WWHandWrite.java:
--------------------------------------------------------------------------------
1 | package com.wwengine.hw;
2 |
3 | import android.content.Context;
4 |
5 | public class WWHandWrite {
6 |
7 | static {
8 | System.loadLibrary("dwEngineHw");
9 | }
10 |
11 | /*************************************************************************************
12 | *
13 | *
14 | *
15 | *************************************************************************************/
16 | public static native int apkBinding(Context param);
17 |
18 |
19 | /*************************************************************************************
20 | *
21 | *
22 | *************************************************************************************/
23 | public static native int Authorization(char[] name);
24 |
25 |
26 | /*************************************************************************************
27 | *
28 | *
29 | *************************************************************************************/
30 | public static native int hwInit(byte[] data, int param);
31 |
32 |
33 | /*************************************************************************************
34 | *************************************************************************************/
35 | public static native int hwRecognize(short[] tracks, char[] result, int candNum, int option);
36 |
37 |
38 | /*************************************************************************************
39 | *
40 | *
41 | *************************************************************************************/
42 | public static native int hwRecognizeMulti(short[] tracks, char[] result);
43 | }
44 |
45 |
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi/libWnnEngDic.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/jniLibs/armeabi/libWnnEngDic.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi/libWnnJpnDic.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/jniLibs/armeabi/libWnnJpnDic.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi/libWnnZHCNDic.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/jniLibs/armeabi/libWnnZHCNDic.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi/libdwEngineHw.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/jniLibs/armeabi/libdwEngineHw.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi/libwnndict.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/jniLibs/armeabi/libwnndict.so
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cand_back.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
21 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cand_back_normal.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/cand_back_normal.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cand_back_pressed.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/cand_back_pressed.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cand_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/cand_down.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cand_down_press.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/cand_down_press.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cand_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/cand_up.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cand_up_press.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/cand_up_press.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/candidate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/candidate.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/dialog_bubble.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/dialog_bubble.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/dialog_bubble_moji.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/dialog_bubble_moji.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/dialog_bubble_symbol.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/dialog_bubble_symbol.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/dialog_bubble_undo.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/dialog_bubble_undo.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/immodeic_chinese.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/immodeic_chinese.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/immodeic_full_alphabet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/immodeic_full_alphabet.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/immodeic_full_kana.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/immodeic_full_kana.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/immodeic_full_number.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/immodeic_full_number.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/immodeic_half_alphabet.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/immodeic_half_alphabet.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/immodeic_half_kana.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/immodeic_half_kana.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/immodeic_half_number.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/immodeic_half_number.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/immodeic_hiragana.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/immodeic_hiragana.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha0.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha0_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha0_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha1.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha1_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha1_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha2.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha2_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha2_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha3.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha3_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha3_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha4.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha4_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha4_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha5.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha5_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha5_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha6.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha6_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha6_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha7.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha7_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha7_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha8.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha8_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha8_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_alpha9_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_alpha9_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_caps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_caps.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_caps_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_caps_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_dakuten.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_dakuten.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_dakuten_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_dakuten_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_eisukana.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_eisukana.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_eisukana_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_eisukana_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana0.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana0_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana0_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana1.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana1_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana1_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana2.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana2_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana2_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana3.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana3_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana3_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana4.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana4_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana4_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana5.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana5_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana5_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana6.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana6_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana6_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana7.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana7_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana7_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana8.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana8_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana8_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_hiragana9_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_hiragana9_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_left.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_left_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_left_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_period_comma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_period_comma.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_period_comma_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_period_comma_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_reverse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_reverse.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_reverse_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_reverse_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_right.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_right_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_right_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_ten.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_ten.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_12key_ten_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_12key_ten_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_cn_mode_change_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_cn_mode_change_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_cn_mode_full_num.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_cn_mode_full_num.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_cn_mode_half_alpha.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_cn_mode_half_alpha.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_cn_mode_half_num.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_cn_mode_half_num.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_cn_mode_pinyin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_cn_mode_pinyin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_del.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_del.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_del_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_del_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_en_mode_change_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_en_mode_change_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_en_mode_half_alpha.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_en_mode_half_alpha.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_en_mode_half_num.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_en_mode_half_num.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_enter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_enter.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_enter_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_enter_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_enter_jp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_enter_jp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_enter_jp_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_enter_jp_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_jp_mode_change_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_jp_mode_change_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_jp_mode_full_alpha.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_jp_mode_full_alpha.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_jp_mode_full_kata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_jp_mode_full_kata.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_jp_mode_full_num.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_jp_mode_full_num.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_jp_mode_half_alpha.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_jp_mode_half_alpha.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_jp_mode_half_kata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_jp_mode_half_kata.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_jp_mode_half_num.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_jp_mode_half_num.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_jp_mode_hira.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_jp_mode_hira.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_mode_panel_kbd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_mode_panel_kbd.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_mode_panel_kbd_12key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_mode_panel_kbd_12key.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_mode_panel_kbd_12key_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_mode_panel_kbd_12key_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_mode_panel_kbd_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_mode_panel_kbd_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_qwerty_shift.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_qwerty_shift.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_qwerty_shift_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_qwerty_shift_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_space.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_space.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_space_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_space_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_space_conv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_space_conv.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/key_space_conv_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/key_space_conv_b.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_metal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_metal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_metal_def.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
22 |
24 |
26 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_metal_p.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_metal_p.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_metal_psftoff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_metal_psftoff.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_metal_psfton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_metal_psfton.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_metal_sftoff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_metal_sftoff.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_metal_sfton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_metal_sfton.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_simple.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_simple.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_simple_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_simple_bg.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_simple_def.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
22 |
24 |
26 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_simple_p.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_simple_p.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_simple_psftoff.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_simple_psftoff.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_simple_psfton.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_simple_psfton.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_simple_sftoff.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_simple_sftoff.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/keybg_simple_sfton.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/keybg_simple_sfton.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tutorial_12key_enter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/tutorial_12key_enter.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tutorial_12key_key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/tutorial_12key_key.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tutorial_12key_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/tutorial_12key_left.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tutorial_12key_mode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/tutorial_12key_mode.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tutorial_12key_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/tutorial_12key_right.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tutorial_12key_space_jp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/tutorial_12key_space_jp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tutorial_12key_toggle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/tutorial_12key_toggle.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tutorial_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/tutorial_back.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/word_full_space.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/word_full_space.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/word_half_space.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/app/src/main/res/drawable/word_half_space.png
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_loader.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
15 |
16 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/bubble_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
35 |
36 |
46 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/candidate_scale_up.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
25 |
34 |
40 |
46 |
53 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/candidates.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
22 |
23 |
29 |
30 |
36 |
37 |
44 |
45 |
51 |
52 |
57 |
58 |
59 |
60 |
67 |
68 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/input_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
16 |
24 |
25 |
26 |
33 |
34 |
41 |
45 |
46 |
47 |
52 |
53 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/input_view_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
16 |
17 |
24 |
25 |
32 |
33 |
40 |
41 |
42 |
43 |
44 |
45 |
49 |
50 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/input_view_windows.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
14 |
15 |
16 |
24 |
25 |
29 |
30 |
31 |
37 |
38 |
45 |
50 |
55 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/keyboard_android_default.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/keyboard_default_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/keyboard_default_sub.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
30 |
31 |
43 |
44 |
57 |
58 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/keyboard_metal.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/keyboard_simple.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
17 |
18 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/user_dictionary_tools_edit.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
21 |
22 |
28 |
29 |
34 |
35 |
41 |
42 |
47 |
48 |
53 |
54 |
63 |
64 |
73 |
74 |
75 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/user_dictionary_tools_edit_header.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
21 |
22 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/user_dictionary_tools_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
22 |
23 |
28 |
29 |
34 |
35 |
40 |
41 |
46 |
47 |
48 |
54 |
55 |
68 |
69 |
82 |
83 |
84 |
88 |
89 |
94 |
95 |
96 |
97 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/user_dictionary_tools_list_header.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
21 |
22 |
29 |
30 |
37 |
38 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/user_dictionary_tools_list_header_ja.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
21 |
22 |
29 |
30 |
37 |
38 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/user_dictionary_tools_list_header_zhcn.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
21 |
22 |
29 |
30 |
37 |
38 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sw600dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sw720dp-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 | 128dp
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | - @string/preference_keyboard_android_default
21 | - @string/preference_keyboard_simple
22 | - @string/preference_keyboard_metal
23 |
24 |
25 | keyboard_android_default
26 |
27 |
28 | - keyboard_android_default
29 | - keyboard_simple
30 | - keyboard_metal
31 |
32 |
33 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | #ff404040
19 | #FFEFEBEF
20 | #0032CD32
21 | #0032CD32
22 | #Cd32CD32
23 | #FF32CD32
24 | #00ff8800
25 | #CDff8800
26 | #ffff8800
27 | #fff0f0f0
28 | #5532CD32
29 | #55ff8800
30 | #ffffff
31 |
32 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | 50dip
19 | 40dip
20 | 20sp
21 | 32dip
22 | 28dip
23 | 22dip
24 | 23sp
25 |
26 | 16dp
27 | 16dp
28 | 23sp
29 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/default_cn_switch_key.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
22 |
23 |
25 |
26 |
27 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/default_en_qwerty.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
65 |
66 |
67 |
68 |
71 |
72 |
73 |
76 |
77 |
78 |
81 |
82 |
83 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/default_en_switch_key.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
22 |
23 |
25 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/default_en_symbols.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
65 |
66 |
67 |
68 |
71 |
72 |
73 |
76 |
77 |
78 |
81 |
82 |
83 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_12key_full_katakana.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
27 |
28 |
29 |
30 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
53 |
54 |
55 |
56 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_12key_full_katakana_input.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
27 |
28 |
29 |
30 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
53 |
54 |
55 |
56 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_12key_full_num.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
27 |
28 |
29 |
30 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
53 |
54 |
55 |
56 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_12key_half_katakana.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
27 |
28 |
29 |
30 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
53 |
54 |
55 |
56 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_12key_half_katakana_input.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
27 |
28 |
29 |
30 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
53 |
54 |
55 |
56 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_12key_half_num.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
27 |
28 |
29 |
30 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
53 |
54 |
55 |
56 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_12key_phone.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
27 |
28 |
29 |
30 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_qwerty_jp_half_alphabet.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
62 |
63 |
64 |
65 |
68 |
69 |
71 |
73 |
75 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_qwerty_jp_half_alphabet_landscape.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
62 |
63 |
64 |
65 |
68 |
69 |
71 |
73 |
75 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_qwerty_jp_half_alphabet_shift.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
62 |
63 |
64 |
65 |
68 |
69 |
71 |
73 |
75 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_qwerty_jp_half_symbols_shift.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
62 |
63 |
64 |
65 |
68 |
69 |
71 |
72 |
73 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_qwerty_jp_half_symbols_shift_landscape.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
62 |
63 |
64 |
65 |
68 |
69 |
71 |
72 |
73 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_switch_key_jp.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
26 |
27 |
28 |
30 |
31 |
32 |
34 |
35 |
36 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/keyboard_switch_key_qwerty_jp.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
23 |
24 |
26 |
27 |
28 |
30 |
31 |
32 |
34 |
35 |
36 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/method_en.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/method_ja.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/method_zhcn.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/symbols_emotion_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/symbols_latin1_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 | buildscript {
3 | repositories {
4 | maven { url 'https://maven.aliyun.com/repository/google' }
5 | maven { url 'https://maven.aliyun.com/repository/public' }
6 | maven { url 'https://jitpack.io' }
7 | google()
8 | }
9 | dependencies {
10 | classpath 'com.android.tools.build:gradle:7.4.2'
11 | }
12 | }
13 |
14 | ext {
15 | appcompatVersion = '1.6.1'
16 | }
17 |
18 | allprojects {
19 | repositories {
20 | maven { url 'https://maven.aliyun.com/repository/google' }
21 | maven { url 'https://maven.aliyun.com/repository/public' }
22 | maven { url 'https://jitpack.io' }
23 | google()
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/build/android-profile/profile-2017-04-20-18-09-46-996.rawproto:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/build/android-profile/profile-2017-04-20-18-09-46-996.rawproto
--------------------------------------------------------------------------------
/build/android-profile/profile-2017-04-20-18-09-49-236.rawproto:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/build/android-profile/profile-2017-04-20-18-09-49-236.rawproto
--------------------------------------------------------------------------------
/build/generated/mockable-android-19.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/build/generated/mockable-android-19.jar
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | android.enableJetifier=true
2 | android.useAndroidX=true
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tumuyan/Handwriting-for-Android/da95a8526261e208a04d7dddd89fcd171fee76bc/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Mar 05 22:40:24 CST 2024
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/import-summary.txt:
--------------------------------------------------------------------------------
1 | ECLIPSE ANDROID PROJECT IMPORT SUMMARY
2 | ======================================
3 |
4 | Ignored Files:
5 | --------------
6 | The following files were *not* copied into the new Gradle project; you
7 | should evaluate whether these are still needed in your project and if
8 | so manually move them:
9 |
10 | * ic_launcher-web.png
11 | * proguard-project.txt
12 |
13 | Replaced Jars with Dependencies:
14 | --------------------------------
15 | The importer recognized the following .jar files as third party
16 | libraries and replaced them with Gradle dependencies instead. This has
17 | the advantage that more explicit version information is known, and the
18 | libraries can be updated automatically. However, it is possible that
19 | the .jar file in your project was of an older version than the
20 | dependency we picked, which could render the project not compileable.
21 | You can disable the jar replacement in the import wizard and try again:
22 |
23 | android-support-v4.jar => com.android.support:support-v4:19.1.0
24 |
25 | Moved Files:
26 | ------------
27 | Android Gradle projects use a different directory structure than ADT
28 | Eclipse projects. Here's how the projects were restructured:
29 |
30 | * AndroidManifest.xml => app/src/main/AndroidManifest.xml
31 | * assets/ => app/src/main/assets/
32 | * libs/armeabi/libWnnEngDic.so => app/src/main/jniLibs/armeabi/libWnnEngDic.so
33 | * libs/armeabi/libWnnJpnDic.so => app/src/main/jniLibs/armeabi/libWnnJpnDic.so
34 | * libs/armeabi/libWnnZHCNDic.so => app/src/main/jniLibs/armeabi/libWnnZHCNDic.so
35 | * libs/armeabi/libdwEngineHw.so => app/src/main/jniLibs/armeabi/libdwEngineHw.so
36 | * libs/armeabi/libwnndict.so => app/src/main/jniLibs/armeabi/libwnndict.so
37 | * lint.xml => app/lint.xml
38 | * res/ => app/src/main/res/
39 | * src/ => app/src/main/java/
40 |
41 | Next Steps:
42 | -----------
43 | You can now build the project. The Gradle project needs network
44 | connectivity to download dependencies.
45 |
46 | Bugs:
47 | -----
48 | If for some reason your project does not build, and you determine that
49 | it is due to a bug or limitation of the Eclipse to Gradle importer,
50 | please file a bug at http://b.android.com with category
51 | Component-Tools.
52 |
53 | (This import summary is for your information only, and can be deleted
54 | after import once you are satisfied with the results.)
55 |
--------------------------------------------------------------------------------
/local.properties:
--------------------------------------------------------------------------------
1 | ## This file must *NOT* be checked into Version Control Systems,
2 | # as it contains information specific to your local configuration.
3 | #
4 | # Location of the SDK. This is only used by Gradle.
5 | # For customization when using a Version Control System, please read the
6 | # header note.
7 | #Mon Aug 02 22:37:45 CST 2021
8 | sdk.dir=C\:\\Users\\Yazii\\AppData\\Local\\Android\\Sdk
9 | ndk.dir=C\:\\Users\\Yazii\\AppData\\Local\\Android\\Sdk\\ndk-bundle
10 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------