The work of mine has been correcting the reference glyph files and developing a web interface for the proposed framework. I had tried and made the reference files least buggy as possible. I have gone through the glyph names of almost all the 243 words in 4 fonts. I had to invest a lot of time on this especially due to one minor misunderstanding of mine on the multiple correct renderings of the words. And I hope it will get much refined after Rajeeshettan proof read it for 2 fonts as he has suggested.
(I have changed the renderings of words with repham in Rachana such that the dotreph comes first. So words like these http://troll.ws/image/2e3a872e, http://troll.ws/image/469dd87a, http://troll.ws/image/5838dbec although looks correct, will be in the wrongly rendered words list by harfbuzz.)
The next part of this weeks work was developing the web interface (Excuse my poor design, I am cleaning it up as I write). It doesn’t actually spits output to the user now or doesn’t make it easier for the user to open files. I am hoping to make it run the script well in a week’s time and don’t think it is ready yet for the review. So I would like another week to make it ready for reviewing.
And finally about the C code I have added to the repo. I will start working on a new code in C++ once I am done with the webpage as I find the present code massively buggy and really inefficient. I hope I’ll be able to update it the week after next.
My code here: https://github.com/nandajavarma/Automated-Rendering-Testing
I have changed the framework interface from its previous form, although the previous front end automated_rendering_testing.py is still present in the repo. Now the new interface, rendering_testing.py, need all the file names to be provided as command line arguments. The user gets the convenience of using the tab completion this way. The user will have to give as command line arguments 6 files (font file, test cases file, reference file, rendering output and files to store output) and an optional directory name(if the engine is harfbuzz).
If the rendering engine is harfbuzz, user can run the script generate_hb_rendering.py along with the test cases file and font file as parameters, to create the rendered output file. If that is not the case, the user will have to create this file as well in the prescribed form.
Now, the algorithm that actually test the rendering was a bit buggy and was giving certain wrong outputs for words with multiple rendering engines and I have cleared this error. This feature gives correct output now for the files I tried it with.
The next thing I am working on is the web interface and I am using Flask framework. Will make this code public as soon as I get the script running from the page.
The past two weeks has been a blur with a lot of travelling and minimal Internet access. The following are the works I have been doing so far:
The following modifications were asked to be made on the existing framework by my mentor after a Hangout session as part of the evaluations:
1. Modify the comparison algorithm so as to show positive results for the words with multiple correct renderings – This modification is made. Now, the user can give multiple glyph names separated by comma in the reference file and if the rendering matches any one of these, the framework will return a positive response.
2. Modify the reference glyph file, adding the glyph names of words with multiple correct renderings. Also some corrections were asked to be made in the existing reference file.
3. Modify the framework such that the user can even test by giving the file names as parameters. This one needs a little more work as I didn’t give options in argument parser for all the necessary file inputs. Will update this soon.
Along with these some minor fixes were asked to be done on the script and all those are taken care of.
As for the further developments, planned to create a web interface for this framework. I am trying to create this interface using Flask and I am currently working on it.
After that, the framework will be implemented in C. I have added a partially working implementation of this in the repo.
After the completion of all these, if time permits, references for other fonts are also planned to be made.
Will keep posted on further developments.