Friday 14 March 2014

Screenshots for Lohit Malayalam

Hi all.Being at the stage of announcement for 2.92.0 (Beta-1) release of Lohit Malayalam from lohit2 project & following the things we discussed earlier [1][2] we had tested the Lohit-Malayalm on Harfbuzz, utrrs[3], & on W8 as well. Here comes the screenshots for the same.

Testfile screenshot on Linux :


Testfile screenshot on W8 : 



Testing Environment :
Fedora 20, Application gedit
gnome-shell-3.8.4-2.fc19.x86_64
harfbuzz-0.9.23-1.fc20.x86_64
lohit-malayalam-ttf-2.92.0.tar.gz
Source file: https://github.com/pravins/lohit/blob/master/malayalam/test-malayalam.txt


1. http://snehakore.blogspot.in/2013/12/the-way-we-proceed-with-malayalam.html
2. http://pravin-s.blogspot.in/2014/01/announcing-alpha-release-of-lohit.html

Thursday 13 March 2014

WSB : Work Status For Lohit-Bengali .. :)

Hi all. Its time to mention the status of work done for Lohit Bengali.

As we have planned earlier about the improvements, the first thing was to go through  

1) Referential docs
  • OT rules specifications for bengali script by microsoft
  • Unicode core specification documentation
2) GSUB-Cleanup

3) Glyph-namings 
  •  Following AGL specification (We are just following syntax and not naming stuff yet. It will happen with script improvement for generating sfd to ttf)
  • Bengali font have lot many conjunct ligatures, since we are following AGL syntax, for glyph-naming step, they are exceeding 31 character limit. For such cases we are removing the script tag placed at the end(i.e.beng) 
  • though we had script written for these glyphs namings, it would be generated afterwards
4) Lookup writings
  • for this, we are presently following the microsoft OT rules specifications for bengali script [1]
  • Previously, with lohit version 2.5.3, there was no lookup defined for akhand forms, so that one is added in newer version
  • One more thing that has to be updated to Below-base form substitution is, previously used ligature is different than what it has to be.
                                             
  • Amongst these two in above screenshot, the rules has been written for the one on the left, but as per unicode specifications & MS typography specifications, it has to be the one on right. so it has been updated now .
  • so with this, we are done lookup writings for basic shaping forms. now we are at mandatory shaping forms
  apart from this, the  things yet to complete are :
  • To complete lookup writings for all of the forms 
  • Removal of glyphs which no longer needed 
  • Test-File creation 
  • Testing 
  • bug reporting, solving, & reviewing
So that's it for bengali right now. the development is been tracked at lohit2/bengali [2]. surely try to complete the other things asap. For any comments or issues github link is here [3].

Friday 28 February 2014

Improvements of Lohit Gurmukhi 2.91.0 over Lohit-Punjabi 2.5.3

Hello all ! with the announcement for alpha release 2.91.0 of lohit-gurmukhi from lohit2 project, I would like to mention some improvements that we had achieved with this version over the previous one.

The first improvement that's quiet notifiable is, of course, the task of renaming Lohit Punjabi to Lohit Gurmukhi since we had already discussed related to this [1].


the improvements that we had achieved in Gurmukhi includes : 

Technical improvements
  • Supports guru and gur2 open type script tags.
  • Follows AGL specification syntax.
  • Open type rules are available in .fea file for easy reusability
  • Open type gsub lookups reduction from 10 to 8.
  • Corrected glyph class of all glyphs.
  • Renamed anchors to GRAnchor.
 Designing improvements 
  • "Copy Reference" feature implemented for better reusability of glyphs.
  • Improved shape of aivowelguru, oovowelguru, aivowelguru_tippiguru, oovowelguru_tippiguru, aivowelguru_addakguru, oovowelguru_addakguru,oovowelguru_bindiguru.
I would like to elaborate these designing improvements because we also had resolved the bug on bugzilla on this [2]. So in conformance with that, the following screenshots are self-explanatory. The first section depicts designing in 2.5.3 version & second one is an improvement in 2.91.0.





 The basic need behind these design improvements helps to avoid merging & overlapping of some above base substitution glyphs to the consonant glyphs. This achieves better contextualization.

here comes a paragraph as an example (second screenshot has improvemnts over first one):





along with these improvements Lohit Gurmukhi had been sucessfully tested on harfbuzz, W8 & utrrs as well. Lohit page has been updated with this release[3]. So at any point of time , if you came across any issue, please feel free to mention :) .


1. https://bugzilla.redhat.com/show_bug.cgi?id=1047373
2. https://bugzilla.redhat.com/show_bug.cgi?id=1047545
3. https://fedorahosted.org/lohit

Tuesday 18 February 2014

GNUnify : Nice event

Hey, good morning all !! Most of us might have attended this event called "GNUNIFY"[1]. as far as I know, It was 2 day event but was  overwhelmed with lots of sessions which were truely truely helpful . As it was open to all, sessions were informative for all of students, professionals,developers etc. Unfortunately I had missed the first day sessions but I was there at second day on 15th Feb.

There were a lot many sessions arranged on 2nd day as well among which I had attended the one which was "Django workshop". It was totally practical oriented session (really thankful for doing so) & session had included installation part as well, so that people got to know the details from basic stage.This session was well conducted by Arun Mittal. He differentiated the Django versions & their functionalities. He had briefly explained about settings.py, urls.py etc by means of programming. He made the audience to actually program & execute the things he explained.

The followed session was of "Python Decorators" which was conducted by Mr.Dhananjay Nene. He started with python functionalities (like python allows to pass function as a parameter to other function,python allows to create functions inside function etc) Then he directed towards the concept of python decorators.He explained,Decorator takes function as a input & returns function as output. Python Decorators has features listed below :

1) Lexical scoping
2) Code Reusability
3) New feature availability with if else structure
4) Partial Function Application

After this session we had served with delicious food :). well, succeeding session  was "Using Git & Github", it was very much informative for beginners. The speaker had demonstrated the concepts of creating repo's, pulling requests, forking, ssh keys, committing, pushing, pulling etc.

so, in-short the session arranged were truly informative (basically for learners). & I must say, they had done a great job. I am really thankful.
 
1. http://gnunify.in/

Wednesday 29 January 2014

Lohit2 proceeding with Lohit Punjabi

Good morning everyone! With the release of Lohit Malayalam & script writings of automated testing tool, we are now looking towards improving Lohit Punjabi [1]. As previously specified in the mail on lohit-devel-list, its better to call "Lohit Punjabi" as "Lohit Gurmukhi".

This improvements will involve all the basic & additional improvements as well :

Basic improvements :

    * Following AGL specification (We are just following syntax and not naming stuff yet. It will happen with script improvement for generating sfd to ttf)
    * Feature file separate for flexibility and reusability.
    * Complete cleanup of existing Open type tables
    * Supporting both "guru" and "gur2" open type specifications.
    * Thorough testing with Harfbuzz and Uniscribe (WinXp, W7 and W8)
    * Fixing existing open bugs of Lohit Punjabi [2]

Additional improvements :

   * Removal of lookups which are no longer needed.
   * Inclusion of feature tags according to the specifications in Microsoft Typography for Gurmukhi[3] 
   * Automated Testing 


The development has already been started at Lohit2[4]

1.http://pravin-s.blogspot.in/2013/08/project-creating-standard-and-reusable.html
2. https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&component=lohit-punjabi-fonts&list_id=2147810&product=Fedora&query_format=advanced
3. http://www.microsoft.com/typography/OpenTypeDev/gurmukhi/intro.htm#features
4. https://github.com/pravins/lohit2/tree/master/punjabi

Wednesday 22 January 2014

Automated Testing Tool for Lohit

Hello everyone. Being at completion stage, here comes the tool for automated testing which is key asset in testing process since it saves the time & predicts accurate output. Its just as simple as running a single command preceding with appropriate parameters .

What we have done actually is,
1. We had written a script which takes the input involving script_name, test_file_name & ttf_file_name.
2. This script can be used for both generating the standard test case output from raw test case file & testing that standard test cases with the ones after newer modifications.
3. Only the thing to note is that, this script has hb-shape dependancy. So while executing this in fedora, ubuntu etc please make sure you have harbuzz-devel rpm installed .  

The Screenshots & Commands for execution :

For generating the standard test cases  :

    python generate_test.py <test file> <font file>





For testing the newer test cases : 

    python auto_test.py <test file> <font file>




 where,

> generate_test.py  : 
     this script can be executed only once to generate standard output file
 which will be going to include output for all the test cases specified in raw test file.


> auto_test.py :
      this script can be executed, many a times , whenever any changes are been made. This script will compare output with the previously generated standard test file.

> test_file :     the name of text file wherein all your test cases resides.

> font_file : 
     ttf file name for the font which you want to apply to.

you can refer the link [1][2] for python script auto_test.py. Hope this finds useful.

1. https://raw.github.com/pravins/lohit2/master/scripts/generate_test.py
2. https://raw.github.com/pravins/lohit2/master/scripts/auto_test.py

Monday 16 December 2013

The Way We Proceed With Malayalam ..

Well, with the successful releases for Lohit Gujarati & Lohit Devanagari, we have planned to move towards Malayalam . Since the news has been already announced regarding the development plan for Malayalam language, this post is specifically about the minute details that we had considered while starting & developing towards the way.

As we have achieved the basic goals for both Lohit Gujarati & Lohit-Devangari, which were set at the start of project,now we had set the improvement plan for malyalam as well, which involves the following things :
  • Following AGL. [1]
  • Supporting points provided in Unicode chapter 9 for Malayalam script.
  • Feature file separate for flexibility and reusability.
  • Complete cleanup of existing Open type tables
  • Supporting both "mlym" and "mlm2" open type specifications.
  • Thorough testing with Harfbuzz and Uniscribe (WinXp, W7 and W8).  
Present status of Project : 
Inspite of this basic goals ,I would like to depict the exact steps that we followed .

>>  The first task that we have started with Malayalam is to create test-file. This file is specifically for glyph-testing purpose & proper contextualization of glyph as well .
 
>>  The next thing We have moved to, is GSUB Cleanup so that we can start Malayalam development from very initial step while keeping an eye towards the basic moto.
 
>>  The Third task we have completed is about Glyph renaming. This step really helps for writing the GSUB rules, text rendering & glyph positioning sequence as well.
                 For this task i would like to elaborate, as we had previously discussed & concluded , its better to follow AGL. yet fontforge restricts us for lengthy glyph namings , for such glyphs , we had excluded the AGL specification rules.

>>  After the Glyph-renaming task, We had gone through Malayalam Typography specification, & started For OT rule writing task. Presently We are done with basic shaping forms (except for cjct feature)[2].

Upcoming Schedule :
  •  To finish up with the remaining Features in regards to OT rule writing. 
  •  Testing Activity

  you can have the updated project status & activities on Github [3] .so this the agenda that we had planned & following , thereby raising a step towards making the font more efficient, less redundant, & stable. Thanks.

1. https://sourceforge.net/adobe/aglfn/wiki/AGL%20Specification/
2. http://www.microsoft.com/typography/OpenTypeDev/malayalam/intro.htm#features
3. https://github.com/pravins/lohit2/tree/master/malayalam