Behdad Esfahbod's daily notes on GNOME, Pango, Fedora, Persian Computing, Bob Dylan, and Dan Bern!

My Photo
Name:
Location: Toronto, Ontario, Canada

Ask Google.

Contact info
Google
Hacker Emblem Become a Friend of GNOME I Power Blogger
follow me on Twitter
Archives
July 2003
August 2003
October 2003
November 2003
December 2003
March 2004
April 2004
May 2004
July 2004
August 2004
September 2004
November 2004
March 2005
April 2005
May 2005
June 2005
July 2005
August 2005
September 2005
October 2005
November 2005
December 2005
January 2006
February 2006
March 2006
April 2006
May 2006
June 2006
July 2006
August 2006
September 2006
October 2006
November 2006
December 2006
January 2007
February 2007
March 2007
April 2007
May 2007
June 2007
July 2007
August 2007
September 2007
October 2007
November 2007
December 2007
January 2008
February 2008
March 2008
April 2008
May 2008
June 2008
July 2008
August 2008
October 2008
November 2008
December 2008
January 2009
March 2009
April 2009
May 2009
June 2009
July 2009
August 2009
November 2009
December 2009
March 2010
April 2010
May 2010
June 2010
July 2010
October 2010
November 2010
April 2011
May 2011
August 2011
September 2011
October 2011
November 2011
November 2012
June 2013
January 2014
May 2015
Current Posts
McEs, A Hacker Life
Tuesday, July 27, 2004
 Owen Taylor

We went into technical discussion three times.

First the night before conference starting. As I said before, I told him how Arabic rendering is pretty slow in Pango, which we both agreed that it's a problem in Pango's OpenType handling. Two days later, he told me that he did some optimizations last night, caching some values when handling OpenType features, which made Arabic rendering faster! Before the patch Arabic was taking 2.2 times slower than English, after the patch it's just 1.8 times. Pretty good. [Update: he applied the patch on July 26. From the ChangeLog:]

Mon Jul 26 14:49:22 2004  Owen Taylor  


* ftxgdef.[ch] otlbuffer.[ch]: Make Check_Property() take a
OTL_GlyphItem, add a gproperties field to OTLGlyphItem,
and use that to cache the properties for a glyph.

* ftxgsub.c ftxgdef.c: Adapt to Check_Property() changes.

* otlbuffer.[ch] ftxgsub.c: Add otl_buffer_copy_output_glyph()
to use when we are copying an unmodified glyph from input
to output that preserves the cached properties.


Isn't that cool? [Update: The patch had a bug. Just fixed it now after a long hacking session.]

Second time was at lunch on the second (last) day of the conference. I asked all kind of questions. Mainly talked about different features that I like to see in Glib, like complete Unicode Character Database, or loose searching, or new Unicode Technical Reports. What I found out was that Owen is not interested in more functionality and features at all; he needs enough evidence that a feature is really useful in real life before he decides to put it in. That's a good characteristic of a good maintainer. So, Unicode Character Database goes into a separate library. I'll post later about the details. Stay tuned.

Third and last was at the pub the night that conference finished. I asked all kind of questions again, about justification, paragraph direction code and keyboard layout direction, enclosing marks, font selection for neutrals, many many other things. I can't just dump what I said and heard. I will implement them step by step... For the first step, I'm going to clean-up all direction-related stuff in opentype/ and modules/.

Owen also noted that he's got mails about how theming engine is not working for some widget in Gtk+, when people wanted to design a red theme for use in their sub-marine! According to him, Gtk+ is being used in flight-control software too.

On the way back from pub to hotel, me, Owen and Daniel Viellard were talking about optimizations for ASCII text. Daniel mentioned how he close-circuits certain code-paths for ASCII-only text. Owen noted that he's not going to do any such thing in Pango, cause if ASCII rendering is much faster than the rest, then people will write applications that works Ok with ASCII, but fails (is very slow) with other characters... Thanks Owen :-).

Owen Taylor



[Unfortunately I didn't took a photo of him, so I stole the photo.]

Comments: Post a Comment



<< Archive
<< Home