On 26 April 2013 09:07, Mariano Vicente <m.vicent@gmail.com> wrote:
Hi guys. After install the Athen's tutorial, I have had some error in the image:
Segmentation fault Fri Apr 26 03:59:42 2013
There is a problem over the image or my vm? I added the full log in the attached,
hard to say. when/how it happens?
On Fri, Apr 12, 2013 at 4:53 AM, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/11 Igor Stasenko <siguctua@gmail.com>
On 11 April 2013 10:44, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/11 Igor Stasenko <siguctua@gmail.com>
On 11 April 2013 08:55, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/10 Igor Stasenko <siguctua@gmail.com>
On 10 April 2013 09:14, Tristan Bourgois <tristan.bourgois@gmail.com> wrote:
2013/4/9 Igor Stasenko <siguctua@gmail.com>
Yes, this is a known bug actually, which i demonstrated to audience during tutorial presentation.. i/cairo miss the correct font matrix setup.. and i need to see what's there. Cairo caching the glyphs in a strange way (so if you never drawn anything with given font before and your first drawing will use some rotation then everything will be rendered correctly, but if you already drawn anything it will render them like you shown).. I'm going to fix that issue when i come back from Lviv.
Super :)
Did you also see the cairo_text_path() method? It's very interesting if you want to stroke the letter!
Yes but this is more for fancy artistic text. For rendering large amounts of text (like big lists/source code) you don't want to do that, because it will be too slow.
Thanks for the advice I will share it to my team because they want performance and use text_path instead of show_text.
yes, the freetype library (and i guess you using it) is highly optimized for font rendering. sure thing, cairo path rendering is fast as well, but it is not as specialized for just font rendering as freetype, therefore, i have no doubts that it will be slower.
I only use Athens to rendering the graphics framework :) And I try to not use directly some AthensCairo object to benefit of futur new backend of Athens :) and sincerely you really make a good job of the Athens interface! It's very easy to use it! In one case I use AthensCairo object. I have to use AthensCairoMatrix instead of AthensAffineTransform to represent the transformation of a shape because I have to make an inversion of the matrix to make a global position to the local position of the shape.
Ah, you mean this:
AthensAffineTransform>>inverted "answer an inverse transformation of receiver" self notYetImplemented
yes, someone has to implement it ;)
If the weather is bad at Brest this week-end I will try to implement it :) (My last lesson of Matrix calculation is very old!)
But actually you can just use #inverseTransform: aPoint
i.e. if:
pt := m transform: somePoint.
then
somePoint closeTo: (m inverseTransform: pt) ==> true.
(close to instead of #= because of float rounding errors)
-- Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.