I have narrowed the idea of KHandWrite Application( app for
learning alphabets of foreign language).
It’s a noted fact that Kde-Edu has great products for
learning language be it reading(Parley), pronunciation(Artikulate) or typing
alphabets(KLetters). But it doesn’t have any application which will help users
to write the scripts of a new language. And by learning to write the script I
mean the font/letters that are taught in schools.
Therefore, KHandWrite is a project primarily focused on
writing the scripts of a new language. Now this idea’s scope is vast and large.
Hence, it is very much required to reduce the scope to get quick and better
Hence, for the beginning I’ll stick with KHandWrite which teaches
children English alphabets.
Target Age Group:- 2-10 years old children
Input Method:- Touch-pad, Touch-screen, Pen/Stylus input
method to teach children how to write. The alphabets will follow school’s
Design of UI
Page Wise Details
Main Menu(First page of App) –
This page will contain basic menu options of this app which
– Selecting this menu will take the user to ‘Selection Page’(2nd
page) where he’ll be selecting the letter he wants to practice.
– User will practice to recognize the letter.
– User can create his own custom alphabets.
– Basic graphics, audio, controls, profile options.
– Details about the team behind this app.
As the name suggests, exit.
Selection Page(2nd Page of
Clicking ‘Learn’ in the Menu page takes the user to this
Features to note are:-
of Alphabet :- User will be select any alphabet amongst this to practice
Support :- Single click at any
alphabet will result in audio(pronunciation) of that letter.
Levels :- User can select among 3 difficulty levels to practice writing.
Stars :- Stars won in drawing these letters.
Attempts:- Number of trials user has made at a certain alphabet.
1. Easy – In this difficulty level user
will be provided with more control points, boundary and direction arrows.
– In this level user will be provided with less control points and direction
In this level user will be provided with less control points and no direction
arrows and boundary.
Drawing Page(3rd page)
Features to note are:-
This marks the space within which user can draw his letter.
Points:- User has to touch these control points in a given sequence in
order to complete the letter.
Arrows:- These arrows guide the user to draw accordingly.
Stars:- These stars mark the degree of perfection achieved by user in
completing the above objectives.
This button clears the board and resets everything in current page.
This button skips to the next alphabet.
This button help the user to change the current view, theme, display etc.
This button takes the user to ‘Selection Page(2nd Page)’.
Custom Letter Editor
Depending upon the representation
of letter’s we can tactfully create a specialized editor for creating your own
Representation of Letters
This is a basic approach, here the drawing
zone will be marked with a square. And within that square the letter’s boundary
and control points will be defined.
This will use vector based image
generation. And the control points and boundary will defined by mathematical
This approach will utilize bitmask
hard-coding. Every letter will be represented in an array of (1<<9) bitmask i.e. memory used will be
5X(1<<9) per letter.
0 0 0 0 1 0 0 0 0
0 0 0 1
0 1 0 0 0
0 0 1
1 1 1 1 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
represented in bitmask. 1’s represent the alphabet boundary and 0’s mark the
represent the free zone.
Algorithm for checking the
correctness of drawn alphabet
Similar to scan-line fill algorithm I will
check row-by-row that –
At every even number of intersections with the
boundary is a free zone or not.
If not then user has crossed the boundary and
will be asked to re-draw.
At every odd number of intersections with the
boundary if there’s a single ‘draw pixel’ or not.
If not then user has drawn two lines within the
boundary and will be asked to re-draw.
Therefore, depending upon the
perfection we can decide the stars and check for invalid drawing.
I am currently pursuing Bachelors of
Technology in Information Technology from Indian Institute of Information
Technology. I am currently in 3rd year of my course. I have good C++
experience and competitive algorithmic knowledge, because of competitive
programming. I have rating of 1237 on Topcoder, percentile - 69.93. My team(Team Corleone) secured 11th
rank in ACM-ICPC Asia Regionals. My github profile. I some Qt experience, made some
games. I also have some experience in Web Development(JS,php,
html5, css and ruby). I am a fast learner and am passionate
about problem solving. Kindly see my resume for details of my project.
I have submitted 4 patches so far :-
297254 - Maintained the Aspect ratio of height and width during pdf
236177 - Added ExpandAll() and CollapseAll() Kactions.
311841 – Tried to fix Apply button bug but got stuck
and couldn't find time for it.
Bug 142563 – Fixed documentation bug.