[ I'm quoting the entirety of the message since I'm adding mozilla-i18n to the cc: list. See below. ]
On Tuesday 2002-08-13 16:37 -0500, [EMAIL PROTECTED] wrote: > Hello, I'm new to this list and I have a question that I hope is > appropriate to ask here. Here at SIL International we've developed a > rendering engine called Graphite that can do all kinds of rendering for > complex writing systems. The system is extensible in that the rendering > behavior is defined by a program written in a language we've invented > called GDL (Graphite Description Language). This is important for our > purposes because it provides rendering capability for the many little-known > languages around the world that are not supported by major software > development efforts. > > We're considering the possibility of integrating Graphite rendering into > Mozilla, which would provide a means for communication of all kinds of data > from the lesser-known languages of the world via a web browser. Right now > we're trying to evaluate the feasibility of this idea. The most important > aspects to this would be finding places in the code to hook into in order > to do the following: > > (1) recognize that we need to render with Graphite (probably by means of > the font name), Using the font name seems like a very unusual way to make such a determination. I'd think you would want to do it based on the presence of certain characters, and then the presence of those characters might lead to certain font selection. This seems similar to the work that was done for bidirectional layout (for Hebrew and Arabic), which has been accomplished, although it wasn't necessarily easy. Some folks who hopefully read mozilla-i18n can probably give you more information. Depending on what types of things the library does, you might need to look at a bit of the layout code (in the layout directory). You'd certainly need to deal with the font code I mention below. > (2) call the Graphite engine to perform the rendering (write the glyphs > onto the screen), and This seems like something that would end up in the font code for each platform. (e.g., gfx/src/windows/nsFontMetricsWin.cpp, gfx/src/gtk/nsFontMetricsGTK.cpp, etc.) What platforms does Graphite run on? > (3) define copy operations. This is complicated by the fact that there is > not a one-to-one correspondence between the rendered glyphs and the > characters to be copied, and the information about the correspondence is > hidden in the Graphite engine and related data structures. We could > probably simplify the behavior if needed. This item would not be absolutely > essential for the first phase of effort, but would be nice. I really don't know much about how hard something like this would end up being. Considering that selection of bidirectional text doesn't work all that well last I checked, I suspect it's probably somewhat difficult. > I have not looked at the Mozilla code at all, yet. But would anybody have > an off-the-top-of-your-head idea of what kind of effort this would involve, > say in terms of person-months? (Of course this is assuming the right kind > of interface(s) on the Graphite engine; we may also need to rework things > somewhat from our end.) Perhaps the people who worked on Bidi might be able to make better estimates than I could. > I see from the web site that it is also possible to grab the Gecko layout > code to incorporate into our own stuff. It occurred to me that a better way > to go might be to build a plugin that uses Gecko. Am I right in assuming > that this would give us the XML/HTML/CSS support that we would like to > have? Any sense of which would be the easier approach? Another possibility is for you to contribute code to Mozilla that would become part of Mozilla. The relevant parts of Mozilla tends not to be very extensible, which would mean getting something to work using an external library *might* be significantly harder (depending on what it is) than incorporating the library into Mozilla. (I believe there may have been some attempts to integrate with pango, but I'm not sure how successful they were.) You have to be aware of license issues if you're thinking about modifications to Mozilla, especially if the modifications involve code that you don't want to contribute to Mozilla. See http://www.mozilla.org/MPL/ for more information. However, I'm not a laywer, this isn't legal advice, and you should ask a lawyer if you want legal advice. > Sorry for the rather naive questions, I'm just trying to get an initial > feel to try to evaluate the feasibility of some different options. Thanks > for any help you can give. -David -- L. David Baron <URL: http://www.people.fas.harvard.edu/~dbaron/ >
