├── .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 | 23 | 40 | 41 | 42 | 43 | 44 | 45 | 47 | 48 | 49 | 50 | 51 | 1.8 52 | 53 | 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 | -------------------------------------------------------------------------------- /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 |