Skip to content

HeChinese/OpenHeInput-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

OpenHeInput-iOS

'He' is Chinese word 和's PinYin(Sound), it means 'and' or 'with'.

'HeInput'('和码' in Chinese) is a name of famous Chinese input mathod.

OpenHeInput-iOS is open source HeInput project for iOS (iPhone/iPad) using Objective C.

This application is based on iOS 8.0+ App Extension custom keyboard.

Now it is full functional Chinese Input application, can be deployed to iPhone/iPad.

This application is also available in the AppStore:
https://itunes.apple.com/ca/app/id417876708?mt=8

Input features include:

  1. 21,000+ Chinese words;
  2. 184,000+ Chinese phrases;
  3. Chinese Simplified and Traditional option;
  4. Search code with PinYin;
  5. Convenient switch between HeInput/PinYin/English/Number input.

Setting steps:

  1. System requirement: iOS 8.0+;
  2. Settings > General > Keyboard > Keyboards > Add a New Keyboard;
  3. Select "OpenHeInput".

输入法设置:

  1. 系统要求: iOS 8.0+;
  2. 设置 > 通用 > 键盘 > 键盘 > 添加新键盘;
  3. 选择 "OpenHeInput"。

Application Structure

Created with XCode 7.2 and iOS 9.2.

Workspace Name: HeIOS-Workspace, include 3 modules:

  1. Static Library: HeLibrary;
  2. Static Library: HeInputLibrary;
  3. iOS Application: OpenHeInput.

The main parts of code are:

  1. Hekeyboard_ViewController which is inherited from UIInputViewController;
  2. Input_DataServer which provide input data;
    1. Input_DataServer includes EngineCollection;
    2. EngineCollection includes HeMaEngine, PinYinEngine, HeEnglishEngine, etc;
    3. Each Engine access SQLite database;

Database Structure

Include a SQLite database: hema_db.sqlite, it includes tables:

create table HanZi
(
--_id INTEGER PRIMARY KEY,
HanZi text,
M1 numeric,
M2 numeric,
M3 numeric,
M4 numeric,
GBOrder numeric,
B5Order numeric
);

create table CiZu
(
--_id INTEGER PRIMARY KEY,
CiZu text,
M1 numeric,
M2 numeric,
M3 numeric,
M4 numeric,
HeMaOrder numeric,
JianFan numeric
);

create table English_Word
(
--_id INTEGER PRIMARY KEY,
word text,
HeMaOrder numeric
);

create table PinYin_Number
(
--_id INTEGER PRIMARY KEY,
PinYin text,
number numeric
);

create table PinYin_HanZi
(
--_id INTEGER PRIMARY KEY,
PinYin text,
HanZiString text
);

create table HanZi_PinYin
(
--_id INTEGER PRIMARY KEY,
HanZi text,
PinYin text,
ShengDiao numeric
);

ToDo list in short

  1. Convienent function for user adding words and phrases;
  2. Function for adding users favorite phrases collection;
  3. Keyboard skin;
  4. Convienent way to input emoji;

HeInput related information:

http://www.hezi.net/He/UserGuide_Concise/en-us/Set/HeChinese_Guide_Concise.htm

About

Full functional Chinese Input Method for iOS (iPhone/iPad), using Objective C.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published