Kathmandu University
Department of Computer Science and Engineering
Dhulikhel, Kavre
A Project Proposal
On
“Versatile Text”
[Code No: COMP 206]
(For the partial fulfillment of 2nd Year/ 1st Semester in Computer Science)
Submitted by:
Partha Chalise (9)
Sachin Karki (19)
Sanjeev Kumar Khatri (23)
Suman Pokharel (37)
Submitted to:
Department of Computer Science and Engineering
Submission Date: 12th March, 2020
Bona fide Certificate
This project work on
“Versatile Text” is
the Bona-fide work of
Partha Chalise , Sachin Karki, Sanjeev Kumar Khatri & Suman Pokharel
who carried out the project work under my supervision.
Sarala shakya
AKNOWLEDGEMENT
We would like to express our sincere appreciation to our supervisor, Ms. Sarala
Shakya for her constant guidance, encouragement, understanding and
recommendations during the advancement of our project, without her valuable help
the project would not have been possible. We were able to elevate our idea due to
her guidance. We are highly indebted to her for believing in us and for being a
constant source of motivation.
We would also like to thank our project coordinator Mr. Nabin Ghimire for
instancing different ideas as a semester project, approving our project proposal, and
assigning appropriate supervisor for the project.
We are extremely thankful to Mr. Sameer Tamrakar and Mr. Umesh Hengaju and
Mr. Gajjendra Sharma for familiarizing us with programming concepts and for their
teachings. We extend our gratitude to Kathmandu University Administration for
providing us a platform where students can work on a topic as a semester long
project and demonstrate their findings.
Thank You
I
Abstract
Versatile, an English word for ‘general purpose’, is a python GUI application with
an objective of providing simpler and more meaningful platform for the users to
share to edit and beautify their texts .The versatile text is a program that allows you
to open, view, and edit plain text files. Basically, our project focuses on editing
plain text and performing various file operations. The project can be used offline.
The expectation of the project is to create a software that anyone, who desires edit
a text and make it elegant, could use. The project will help the members to use and
understand mainly Python, which is one of the booming programming languages in
the global market.
The project Versatile Text will be like other text editing softwares, where the user
can view, inspect different artistic contents and apply it to make their text elegent.
Text align, edit, view, find and replace, undo and replace, file operation, font size ,
automatic word and character counter, etc are few major features of our project.
II
Table of Content:
AKNOWLEDGEMENT .................................................................................... I
Acronyms ......................................................................................................... VI
Chapter 1: Introduction ................................................................................. 1-4
1.1 Background ....................................................................................................... 1
1.2 Objectives ......................................................................................................... 3
1.3 Motivation and Significance ............................................................................... 4
Chapter 2: Related Works/Existing Works ..................................................... 5
Chapter 3: Design and Implementation ........................................................ 7-9
3.1 Overview:...................................................................................................... 7
3.2 Solution specification (Logical flow) ............................................................. 8
3.3 Project Directory Structure ............................................................................ 9
Chapter 4: System Requirement Specification ...............................................10
4.1 Software Specification..................................................................................10
4.2 Hardware Specification ................................................................................10
Chapter 5: Discussion on Achievements..........................................................11
Chapter 6: Project Planning and Scheduling ..................................................12
Chapter 7: Conclusion ............................................................................... 13-14
7.1 Limitation.....................................................................................................13
7.2 Future Improvements....................................................................................14
References .........................................................................................................17
III
List of Figure
Figure Page No.
Fig 1: Final Output…………………………………………………………...........7
Fig 2: Work flow chart of the program …………………………………………...8
Fig 3: Project Directory Structure…………………………………………...….…9
Fig 4: Home-Screen…………………………………………………………........15
Fig 5: File ………………………………………………………………………...15
Fig 6: Edit…………………………………………………………………….......16
Fig 7: Theme……………………………………………………………………...16
IV
List of Table
Table Page No.
Table 6.1: Gantt Chart……………………………………………………………12
V
Acronyms
API: Application Program Interface
GUI: Graphical User Interface
VI
Chapter 1: Introduction
Versatile text, which is a text editing software, will help users perform various
operations to their text as per their need. Simply user need to do is make a file write
a text and they as get started with much ease. Text editor is intended to open and
save text files containing either plain text or anything that can be interpreted as plain
text, including the markup for rich text or the markup for something else
1.1 Background
A text editor is a type of computer application that edits plain text. Such programs
are sometimes known as "notepad" Before text editors existed, computer text was
punched into cards with keypunch machines. Physical boxes of these thin cardboard
cards were then inserted into a card-reader. Magnetic tape and disk "card-image"
files created from such card decks often had no line-separation characters at all, and
assumed fixed-length 80-character records. An alternative to cards was punched
paper tape. It could be created by some teleprinters (such as the Teletype), which
used special characters to indicate ends of records.
The first text editors were "line editors" oriented to teleprinter- or typewriter-style
terminals without displays. Commands (often a single keystroke) effected edits to a
file at an imaginary insertion point called the "cursor". Edits were verified by typing
a command to print a small section of the file, and periodically by printing the entire
file. In some line editors, the cursor could be moved by commands that specified
the line number in the file, text strings (context) for which to search, and eventually
regular expressions. Line editors were major improvements over keypunching.
Some line editors could be used by keypunch; editing commands could be taken
from a deck of cards and applied to a specified file. Some common line editors
supported a "verify" mode in which change commands displayed the altered lines.
software, following the naming of Microsoft Notepad. Text editors are provided
1
with operating systems and software development packages, and can be used to
change files such as configuration files, documentation files, etc.
2
1.2 Objectives
The basic objectives of our software are as follows:
▪ File Operation
▪ Cursor Motion
▪ Cut and Paste
▪ Search and Replace
▪ Customize text
▪ Undo and Re-do
3
1.3 Motivation and Significance
We find that in the field of text document editing software, there is much more
improvement to be done. The first motivation is to make the program very simple
for people to use. So trying to build something called WYSIWYG (What You See Is
What You Get), which mean that people can change the visual style of writing (e.g.
bold, italics), by clicking on buttons, when in other programs like WordPerfect,
people have to add special 'codes' to change the style of writing.
Text editing program is rather simple program made using GUI. As we are living
in a modern society people feel more comfortable writing paragraphs and words in
computer rather than a notebook. The main reason is so that they can edit written
text whenever they like and save the document using very low memory and get
access to them anywhere and anytime.
We use simple new, open, save features along with the other features to make the
program simpler and more reliable to people using this program without any
problem.
4
Chapter 2: Related Works/Existing Works
1.Notepad
Notepad is a common text-only (plain text) editor. The resulting files—typically
saved with the .txt extension—have no format tags or styles, making the program
suitable for editing system files to use in a DOS environment and, occasionally,
source code for later compilation or execution, usually through a command prompt.
It is also useful for its negligible use of system resources; making for quick load
time and processing time, especially on under-powered hardware. Notepad supports
both left-to-right and right-to-left based languages. Historically, Notepad did not
treat newlines in Unix- or classic Mac OS-style text files correctly. However, on 8th
May 2018, Microsoft announced that they had fixed this issue. Notepad offers only
the most basic text manipulation functions, such as finding text. Only newer
versions of Windows include an updated version of Notepad with a search and
replace function. However, it has much less functionality in comparison to full-scale
editors.[1]
2. Microsoft Word
Microsoft Word or MS-WORD (often called Word) is a Graphical word
processing program that users can type with. It is made by the computer
company Microsoft. Its purpose is to allow users to type and save
documents. [2]
Similar to other word processors, it has helpful tools to make documents.
▪ Spelling & grammar checker, word count (the also counts letters and lines)
▪ Speech recognition
▪ Inserts pictures in documents
▪ Choice of typefaces
5
▪ Special codes
▪ Web pages, graphs, etc.
▪ Tables
▪ Displays synonyms of words and can read out the text
▪ Prints in different ways
MS Word is a part of Microsoft Office, but can also be bought separately
6
Chapter 3: Design and Implementation
3.1 Overview:
The ultimate goal of our project is to allow the user to create, open, and read
plaintext files. While the program is limited in features, it is still useful in various
contexts for viewing and editing plain text files. you can word wrap your text and
choose the font, style, size, and script. Versatile text is a freeware text editor for
Windows operating systems and is intended as a replacement for the Notepad editor
installed by default on Windows.
Fig 1: Final output
7
3.2 Solution specification (Logical flow)
Our program follows an aligned model as shown in the flow diagram:
Fig 2: Work flow chart of the program
8
3.3 Project Directory Structure
Fig 3: Project Directory Structure
We organized our project directory such that the main function of the program
lies in ‘first.py’ file. This file contains overall code. Our reference icons are
conveniently stored in ‘icom’ directory.
We followed this pattern as we later access these images and video by specifying its
PATH as command-line arguments.
9
Chapter 4: System Requirement Specification
4.1 Software Specification
4.1.1 Front End Tools: Tkinter
4.1.2 Back End Tools: Python
4.1.3 Text Editor: Sublime Text/ VS Code, Pycharm
4.1.4 OS: Windows 7 and above, linux
4.1.5 Browsers: IE 8 above, Safari 9 above, Firefox 46 above, Chrome 47
4.2 Hardware Specification
Since the software will be simplistic, sophesticated hardware is not required. Any
modern PC capable of running a modern OS should suffice.
10
Chapter 5: Discussion on Achievements
Features:
▪ file operations
➢ New, open, save, save as and exit..
▪ font size
➢ User can change the size of the font
▪ font family
➢ User can use font family as per their preference.
▪ Bold, italic and underline
➢ Basic text operation bold, italic and underline can be done with much ease.
▪ Text color and background color
➢ The software gives you the flexibility to change text and background color.
▪ Text aligns
➢ Text or paragraph can be assigned as per users wish.
▪ Edit
➢ It enables operations like Copy, paste clear all and find
▪ View
➢ Either status bar or tool bar can be viewed
▪ Find and replace
➢ It helps user to find a particular word in the paragraph and replace it by the
other.
▪ Undo and redo
▪ Automatic word and character counter
➢ In the footer bar words and characters are counter as user types in the software
11
Chapter 6: Project Planning and Scheduling
The work breakdown and time in weeks required to complete the specific task are
shown as in the Gantt chart below: -
Task 1 2 3 4 5 6 7 8 9 10 11 12
Research and
study
Graphic
Designing
Core
Programming
Program
testing
Documentation
Table 6.1: Gantt Chart
Tasks:
Research and Study
Graphic Designing
Core Programming
Program Testing
Documentation
12
Chapter 7: Conclusion
We have achieved the goal of making a text editor that is light and small in size. As
the application is merely a couple megabytes, the RAM usage is minimal.Although
there are much more features that can be added to the application, it is a reasonably
functioning text editor. Their leaves us with much more space for improvement. The
project has helped the members to use and understand mainly Python, which is one
of the booming programming languages in the global market. Our software helps
user to perform various text editing and file operations as per their need.
7.1 Limitation
1. It doesn’t support syntax highlighting.
2. It doesn’t have feature of inserting an image.
3. It doesn’t support mathematical expression.
4. It doesn’t support word clip and font animation.
5. It doesn’t have feature of inserting videos
13
7.2 Future Improvements
1. Tab implementation.
2. Command line integration for opening links and initiation of application.
3. Full screen feature.
4. Control of web assets.
14
APPENDICES
Home Screen
Fig 4: Home Screen
File
Fig 5: File
15
Edit
Fig 6: Edit
Theme
Fig 7: Theme
16
References
Brodie, R. (n.d.).Notepad. Retrieved from wikipedia:
https://en.wikipedia.org/wiki/Microsoft_Notepad.[Accessed on 2020,march
10].[1].
Davson, M. (2003). Python Programming , Third Edition. Southern California:
premier press.
Eldor, J. (2019, February 19). Tkinter course-Create graphical user interface in
Python tutorial. [Video File].Retrieved from FreeCodeCamp:
https://www.youtube.com/watch?v=YXPyB4XeYLA%20. [Accessed on
2020,february 14]
Malate, R. (2019, November 19). GUI with python tkinter. [Video File]. Retrieved
from from
https://www.youtube.com/watch?v=JrWHyqonGj8%20[Accessed on
2020,January 4]
Microsoft. ( 2020, February 27). Retrieved from Wikipedia:
https://en.wikipedia.org/wiki/Microsoft_Word.[Accessed on 2020,march
10].[2]
Roseman, M. (2019). Modern Tkinter for busy Python Developers , Second Edition.
Amazon.
Scnouwenaars, F. (2018, April 16). Interactive python tutorial. Retrieved from
Learnpython: https://www.learnpython.org.[Accessed on 2019,November
11].
Webbrowser. (2019, April 9). Retrieved from
https://en.wikipedia.org/wiki/Web_browser.[Accessed on 2020,february
14].
will, M. (2019, Feburary 19). Python Tutorial for Beginners.[Video File]. Retrieved
from https://www.youtube.com/watch?v=_uQrJ0TkZlc%20.[Accessed on
2019,October 9].
17