Tuesday, June 25, 2013

Adding new property

My first task, before working on any TeX/LaTeX markup, was to add lineheight property for text rendering. I took quite a while. My poor knowledge of C++ classes and large amount of code, was slowing me down. But I manage to add this ne parameter and learnt a lot. Octave have two graphics tool kits. Everything I suppose to do during GSoC coding period is related with OpenGL rendering. So adding new parameter was some sort of test and learning process in one package.

Freetype library is responsible for rendering of text, when using "fltk" toolkit (OpenGL). The new line-height parameter is imitating line-height in CSS. To get better understanding how this parameter affect position of the text on plot, here is some examples.

Image 1 - lineheight is set to 1

Image 2- lineheight is set to 3

Image 3 - lineheight is set to 5
Changing the value of this parameter can be done similarly as changing the fontsize, fontname, etc. New parameter is scaling yoffset in method ft_renderer::visit. Doing this it doesn't affect text is self, but just changing the offset between previous and current line of text. Working on this task I have problems understanding whats happening. I thing that after finishing it, it's quite better. So I made a call graph to better understand what's happening.   

Image 4 - green line present propagation of lineheight property
and black lines determine the order of calls

opengl is subclass of glps and it's rendering the plots and then, depending of function who called him (plot or print/saveas) or the image is displayed on screen or the glps transforms it to one of many accessible formats.

Monday, June 3, 2013

Start

It's great pleasure to inform you that I am received at this year's Google Summer of Code. I will participate under (as part of)  the Octave community. This blog will be used to present the progress of my project to the wider community of people. I hope that this summer will be interesting and full of new experiences.