From: Dhananjay J. <ds...@bu...> - 2003-08-06 00:40:21
|
Hello, Prabhat Hegde wrote: > thanks for sending. I've been aware of this. > > I think its a good idea. However some considerations i had a few years > when i first integrated pangolite are still relevant i think. > > 1. Pango is too heavy to carry around. > 2. Much more tricky to support edit operations. > 3. Also, mozilla already uses a different code-path for Arabic > shaping which means that we should place great emphasis on > making API light-weight. > 4. How about non-gtk/non-pango Unix support > > with regards, > prabhat > > Pango is too heavy to carry around. In what sense? If you are talking about function overheads then, in this module we are calling only low level pango interface like pango itemize and pango shape besides that there are no calls to function calls to pango higher level interfaces. Plus in creating this module I have used your ILE/ULE component as a template so any overheads with respect to XPCOM are going to be same. > # Much more tricky to support edit operations. can't really comment on that, since I have not tried it yet. > # Also, mozilla already uses a different code-path for Arabic shaping > which means that we should place great emphasis on making API > light-weight. we are not really interested in creating a new api, just using the functionalities of the api already available and widely used and also avoid code-duplication. What I believe is that these different codepaths for bidi were made earlier when pango was not yet a mature application/dev library. Plus the only code I have changed in the base mozilla code is adding a function for creating the DrawString Specs. using the glyphs recieved from the module (and even that is a copy/re-implementation of the original code with very minor modifications. besides adding a few kb to the size of the concerned binary, It is not going to have any performance penalties. > How about non-gtk pango has no dependencies on gtk. for example pkg-config --cflags --libs pango -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wl,--export-dynamic -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 other pango packages like pangox, pangoxft and pangoft2 use the system specific libraries x,ft2 and xft respectively in addition to the ones mentioned above I am using pangoxft > 4. non-pango Unix support > we just want users to have option to use system installed library much like (--enable-system-zlib). they can always stick to the pango lite support if they want. The functionality provided by your code is not changed in way. This component totally bypasses it. regards, dsjoshi |