Saturday, August 1, 2015

6.02. Promote public knowledge of software engineering.

This software shows how software engineering can be help for the cultural development. Rather than using alien subjects to introduce and educate on software engineering we expect that we could use fonts to simple explain the power of software. Specifically the interpolation and generating instances would make people interested in knowing how that ‘magic’ happening. This is good way to empower people about the capability of automated software in their specialized field. To a developing country like Sri Lanka it’s essential to enhance the use of technology in every possible way. People reluctant to use technology because of their illiteracy in technical field and inability in applying technology  in their field. 

Sunday, July 19, 2015

3.01. Strive for high quality, acceptable cost and a reasonable schedule, ensuring significant tradeoffs are clear to and accepted by the employer and the client, and are available for consideration by the user and the public.


 Quality is an essential feature for a software project.  we also try to develop the this tool  with high quality.  So we conducted various kinds of testings like unit testing , regression testing , alpha testing and beta testing to improve the quality of the web site.This tool is used by fond designers and they have very less technical knowledge,so user friendliness is an important feature.User experience factor should be tested thoroughly inorder to make this user friendly. We hope to test this tool with different people having different technical knowledge use their feedback to achive our goals.This is a voluntary project,so we try to make sure that  developing at  minimum cost.  So all most all the libraries we used currently are free and open source libraries.


In the analyzing stage first we identify our main activities and then we construct work break down and network diagrams to get a clear idea about the time required for project. Based on this information we set up a reasonable and achievable work schedule so group members able to work according to this schedule.

2.04. Ensure that any document upon which they rely has been approved, when required, by someone authorized to approve it.

Our client is Mooniak and its a organization that share most of their work under open licenses, even client projects with their approval.Any document we come across regarding design or requirements has been approved by Mooniak with our knowledge and any document we produce is forwarded to Mooniak and with a discussion over Teamspeak we come into conclusions and we add necessary requirements and changes that was altered during the discussion to the document and that final versions of the document will be approved by them.


As developers, it’s always important to have reliable documentation to guide our work. If we are like most developers, we can be supporting multiple applications at the same time, which means that it is even more crucial to have documentation in place to help track all aspects of each application. It’s also helpful for development, maintenance, and knowledge transfer to other developers. The following are some areas in which documentation is especially valuable for a developer and some of my thoughts on what should be included. If possible, the documentation should be focused into the various components that make up an application

Friday, July 10, 2015

2.01. Provide service in their areas of competence, being honest and forthright about any limitations of their experience and education.

This tool can be used create a set of fonts having different thicknesses where the thickness is between the maximum and the minimum weight glymp using several mouse clicks.If they were to design them secretly one by one that will take much more time even using different command line libraries.

Before the actual development started we discussed with our client the most suitable tools and technologies that can be used. Also experience we had on these tools also became a deciding factor for the client when making his decision because he wanted this project done in a short time frame using it.

This tool is designed to be used by any type of font designers, armature to experienced using only their knowledge on font designing without any limitation enforced by their knowledge.   

1.07. Consider issues of physical disabilities, allocation of resources, economic disadvantage and other factors that can diminish access to the benefits of software

All the libraries that is used to create this tool are licensed under GNU/GPL licenses. And this system will be under GPL v3 license. The GNU General Public License v3 (GPL v3 for short) is the next version of the extremely popular free and open source license the GPL v2. It updates its predecessor to reflect the changes that have taken place in the IT world over the sixteen years that separate them. The extra scripts, configuration files will be fully documented with inline comments in both Sinhala and English (Adding Tamil later).  And documentation will be published under a creative commons license. This system will use very minimal resources and even run in older operating systems. And this all the dependencies will be include as a one pack and all these thing will be plug and playable. 

Thursday, June 25, 2015

1.08. Be encouraged to volunteer professional skills to good causes and contribute to public education concerning the discipline.

Though this project has client we involve in this as a complete voluntarily. Our work will be a complete uplift for the font designers to overcome the technical barrier and contributing in the development of Sinhala Unicode fonts. Font creation technologies are tightly couple with Python language. But working knowledge of Python language is not in average designer's tool set.


We will not get paid or we are not targeting for a revenue from this work. This is only an effort to contribute our knowledge in the process of increasing the reachability for Sinhala content through search engines. This work will be in an open Git Hub repository which any one can access freely.

1.01. Accept full responsibility for their own work.

This project is completely open source and client is Mooniak. Mooniak is currently in the process of creating number of Sinhala Unicode web fonts to add to Google fonts. Though the client is Mooniak we are responsible of each and every releases we do in the software although we cannot take the responsibilities of the usage of the software since it is free.

 We will take the responsibility of any copy right issues regarding the libraries and frameworks used to create this tool. We will thoroughly confirm that this will follow each and every license and agreements of the libraries or software used to create this tool. For example we use Robofap python library for interpolation and we depend on service level of Robofap legal according to their license.

Wednesday, June 24, 2015

What is Sinhala Font Tool?

In order to publishers to involve in using Sinhala Unicode fonts for their works won’t happen unless there is number of Sinhala Unicode fonts with different styles. Designing a Unicode font requires some technical knowledge beyond the knowledge of a normal font designer.

  •  The designer first draws the maximum weight glyph set and minimum weight glyph set.
  • Then by interpolation geneerate number of glyph sets with intermediate weights.
  •  Combines the open type features with glyphs and output the font bineries as .otf or ttf.
 There are python scripts and libraries such as Robofab are available to do this interpolation and compilation. But it's over the technical knowledge of average designer. So idea of base sinhala project is to create a single command line tool to do the interpolation font compilation. As the first iteration of project we have created a script which automatically creates intermediate glyph sets in UFO standard font repository. The next step of the project would be creating g-sub and g-pos tables for sinhala characters and finishing the compilation tool. That part of the project will take lot of time, research and expert advices as we have to write spacing tables for all the characters.

Why we need Sinhala Unicode

Before 1998 Sinhala fonts were designed based on ASCII which was very different from current Unicode standards. Designing a Sinhala font was not very easy task because of the larger number of different characters the languages possessed (around 1200 different characters) and most of the time they differs largely from each other. With the initiative of the people like Mr. Pushpananda Ekanayake who was a Sinhala font designer, lot of ASCII Sinhala fonts were designed by overcoming those issues during 90’s.

Unicode was introduced to the world in 1989 in order to have a consistent encoding mechanism among every language in the world and during 90’s Unicode evolved rapidly in the world and ASCII fonts was deprecated. But in Sri Lanka Unicode was approved in 1998 and the transaction from Sinhala ASCII font to Sinhala Unicode font did not happen as expected. Most probably it's due to the fact that creating a Unicode font needs more technical knowledge than ASCII font. Therefore “Iscola Potha” is the only Sinhala Unicode font available vastly online and offline publishers. All the major Sinhala publishers still uses ASCII Sinhala fonts due this. Using ASCII fonts is a problem when it comes to indexing used by search engines. Therefore Sinhala content on web will be not cached by web browsers enforcing a massive limitation of knowledge based on Sinhala articles. And also ASCII text cannot be translated to another language using automatic translators. Therefore we need to push towards Sinhala Unicode font designing.