[Student-projects] Web interface for FontCompare and Harfbuzz rendering tests.

Mayank Jha mayank25080562 at gmail.com
Sun Mar 16 09:50:50 PDT 2014


Name: Mayank Jha
IRC Nicks: mjnovice,mapyth on freenode.
Email: mayank25080562 at gmail.com
Blog: http://mjnovice.wordpress.com/
Github Profile

*Why do you want to work with the Swathanthra Malayalam Computing?*
I wish to work with SMC because it is an organization which helps create
language tools, and helps in internationalization of content in Indian
languages, which is one of my central aims.

*Do you have any past involvement with the Swathanthra Malayalam Computing
or another open source project as a contributor?*
I have developed FontCompare a font aesthetics analyzer, for Indic scripts.
Apart from that I have been a regular open source contributor.

*Did you participate with the past GSoC programs, if so which years, which
organizations?*
I participated in GSoC 2013, developing FontCompare with Ankur India.

*Do you have other obligations between May and August ?*
I have no commitments whatsoever between May and July. Once my college
reopens I would still be able to contribute 40 hours a week.

*Will you continue contributing/ supporting the Swathanthra Malayalam
Computing after the GSoC 2014 program, if yes, which area(s), you are
interested in?*
I will certainly want to continue working with SMC after GSoC. I would like
to be a part of Fonts Improvement and Text Rendering in general.

*Why should we choose you over other applicants?*
I am passionate about whatever I do. I strongly believe in the principles
of FOSS, and love contributing to the Open Source world, since I was
introduced to it. I am very keen about fonts since I believe it is the very
window or medium by which we read or infact do anything. I also possess
sound technical skills, required for the project.



*Short Description:*
I am wanting to make a web interface for a font aesthetics analyzer for
Indic scripts, FontCompare. FontCompare is a plugin for fontforge, which
provides assistance to the font developers in assessing the aesthetics of a
font, based on the standard set of parameters and their values. It uses the
python scripting extension of fontforge. However it currently it has very
basic features implemented. I plan to add in advanced tests, and also
building a web interface for the same.
In general it would be a real help, and it would eliminate the dearth of
good quality open type fonts for Indic scripts, which was the main motive
of behind FontCompare. By making a web interface this would indirectly
propel the creation, of good quality stylish fonts for Indic scripts, which
is limited to 2-3 per language as of now!

*Synopsis:*
The web interface would be having two main parts, one is the User feedback
area, and the other being the Font Developers testing area. The interface
would thus serve dual purpose, of conveying the feedback of the font users
to the font devs, and a testing platform for the font developers to test
out their fonts based on the set of standard tests performed by the
FontCompare application based on set of standards.

*Implementation Details:*
I would be using Django as the web framework, for making the web interface
alongwith JS/jQuery/BootstrapCSS for styling purpose.

User feedback region:
This would allow the user to test out new fonts of any language with his
custom text. Since this would be difficult to do realtime, so we have to
render the text in the said font on the server side and then push it on the
client, this can be easily done with any fontrendering tool. Preferably
harfbuzz, which is used by fontcompare, would be used to render the fonts,
something similar to 1001fonts.com. There would be a feedback form, wherein
he would enter the characters he did not find good/ugly and also the reason
for the same. He could also give in sample text, sentences which do not
render properly or incorrectly upon, using the font.

Font testing region:
Here the font developers would be uploading their font files, and the font
file would be used to perform the tests, and the results of the tests,
would be sent to the client, to be displayed in a nice manner. He/She could
either set his own standards by uploading a sample standard file (for e.g
lohit.ttf for devanagari script), or rely on the default standards, thus
making the tool flexible.

FontCompare would be running tests based on Glyph consistency, Kerning,
GPOS/GSUB completeness, Text beauty, Bitmap Similarity etc.
Apart from developing the web interface, the fontCompare also needs some
improvements, and changes. It currently is a Qt app, with no command line
features. Support would be needed to allow it to function on command line
interface. Also the set of standards need to be updated
The Automate-rendering-tests for Harfbuzz rendering engine is command line
based. So, it would be great to have the test results of the rendering
engine, alongwith the aesthetic analyzer displayed in conjunction, to give
an overall picture to the font developer about the quality of the fonts.

Adding advanced tests to FontCompare:
This would inadvertently mean adding a good set of standards to the current
codebase. In other words identifying good fonts and adding it to the
database of the fonts.


 *Phases/milestones with dates:*

------------:Community Bonding Period:----------

21 April - 28 April :  I am going to re-discuss my implementation plans
with the font developers community, incorporating in the suggestions
recieved, into the FontCompare application (if any).

29 April - May 11 : Getting familiar with the tests of HarfBuzz, and see if
needs tweaking to be sent via a web interface.

May 07 - May 14 : Planning out the UI, see if any changes needed. Writing
basic code for the django models, and see if it works.

May 15 - May 18 : Discuss and get an early feedback on the UI

------------:Coding Period Begins:-------------

May 19 - May 26 : Make changes to the UI and the django models, based on
the feedback. Implement the basic developer account using the django
OAuthAdmin.

May 27 - June 4 : Implementing the basic django models and their views for
the User, and the user feedback region.

June 5 - June 19 : Make the basic developer testing area. Integrate the
rendering tests of harbuzz for display.

June 20 - June 23 : Testing for consistency and efficiency of the models
used. Check for consistency in coding style/conventions. Try and deploy to
test the interface developed so far.

June 24 - June 27 : Discussing with the mentors about the current
development, and getting their reviews/comments.

------------Mid term deliverables------------------
The web interface would be having the basic developer area ready with
rendering tests for display.

June 28 - July 12 : Add, in FontCompare tests to the developer area, by
making fontcompare a command line tool.

July 13 - July 20 : Updating the set of standards to be used by
fontcompare, taking in good quantity/quality of fonts, for each script.

July 21 - August 1 : Getting reviews/feedbacks from font developer
community.
Deploying it and making any changes if required taking into account
performance and consistency.

August 2 - August 5 : Documenting the code. Testing the code for any
nitpicks if required.

August 5 - August 22 : Backup time for unforeseen delays.

------------------End term deliverables-------------------
A full fleged web interface for FontCompare and Harfbuzz rendering tests

Post GSoC ----------> Maintain the web interface, and be the system admin
in general listening to day to day issues. Become a part of the telepathy
community.

About Me:
I am a FOSS enthusiast and a rabid open source contributor. I am currently
a 3rd yr undergraduate pursuing Computer Science at NIT, Durgapur, India .
I believe in the core principle of FOSS. Since I was introduced to the
warm, loving and inspiring world of Open Source I am in love with it, as
they offer great opportunity to both learn and teach.
I was a student for the Google Summer of Code 2013, with Ankur India and
developed a font-metric tool for Indic fonts which could differentiate
fonts on the basis of their aesthetic quality and allow font developers to
contribute more and better fonts.
I have regularly contributed patches to applications like Konversation,
Kate, Telepathy, Trojita, Rekonq. I also made a plugin for the Geany IDE,
which would allow people to submit their code online at SPOJ through the
editor.
I have also explored the Telepathy source code, and submitted few patches
too on the same.
I am skilled in C/C++, Qt, Python, HTML, JAVA, CSS and PHP.
I am very passionate and done to the task I take under, and I can devote 40
hours a week, to my work.
After GSoC I would continue and maintain my code and be a part of the font
developer community, helping and incorporating in new suggestions to my
tool.
Apart from remaining stuck to my laptop, I love to eat chocolates, listen
to Michael Jackson, sleeping and eating.


-- 
Mayank Jha
http://mjnovice.wordpress.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.smc.org.in/pipermail/student-projects-smc.org.in/attachments/20140316/3baf37de/attachment-0002.htm>


More information about the Student-projects mailing list