From roman at kennke.org Thu Aug 2 13:50:02 2007 From: roman at kennke.org (Roman Kennke) Date: Thu, 02 Aug 2007 22:50:02 +0200 Subject: status of freetype work In-Reply-To: <46AF125D.3090109@sun.com> References: <46AF125D.3090109@sun.com> Message-ID: <1186087802.10653.39.camel@mercury> Hi Igor, > Last several weeks were really packed for me but i am happy to finally > say this: > > The work to replace the t2k font rasteriser with freetype is now mostly > complete > and if all goes well it will be in the b17 code drop in about one week. I just wanted to let you know how that I am looking forward to this and have a look at the code. Thank you. Cheers, Roman -- http://kennke.org/blog/ From Phil.Race at Sun.COM Tue Aug 7 16:17:14 2007 From: Phil.Race at Sun.COM (Phil Race) Date: Tue, 07 Aug 2007 16:17:14 -0700 Subject: Freetype font rasteriser Message-ID: <46B8FD7A.7040108@sun.com> Just wondering if anyone has any comments/bugs/patches etc on the freetype replacement for the encumbered font rasteriser that we finally put out last week? -phil. From roman at kennke.org Wed Aug 8 04:15:36 2007 From: roman at kennke.org (Roman Kennke) Date: Wed, 08 Aug 2007 13:15:36 +0200 Subject: Freetype font rasteriser In-Reply-To: <46B8FD7A.7040108@sun.com> References: <46B8FD7A.7040108@sun.com> Message-ID: <1186571736.6136.22.camel@mercury> Hi Phil, > Just wondering if anyone has any comments/bugs/patches etc on the freetype replacement > for the encumbered font rasteriser that we finally put out last week? This is really cool. However, I can't seem to do a working build of OpenJDK: roman at mercury:~/src/OpenJDK/openjdk/control/make $ ../build/linux-i586/j2sdk-image/bin/java -jar /usr/lib/jvm/java-6-sun/demo/jfc/Java2D/Java2Demo.jar Exception in thread "main" java.util.ServiceConfigurationError: sun.java2d.pipe.RenderingEngine: Provider sun.dc.DuctusRenderingEngine not found at java.util.ServiceLoader.fail(ServiceLoader.java:232) at java.util.ServiceLoader.access$400(ServiceLoader.java:182) at java.util.ServiceLoader $LazyIterator.next(ServiceLoader.java:368) at java.util.ServiceLoader$1.next(ServiceLoader.java:439) at sun.java2d.pipe.RenderingEngine $1.run(RenderingEngine.java:127) ... (etc) It's nice that the ductus library is removed now, but, ehem, graphics don't work anymore ;-) Besides this, is there a document anywhere that describes how the many pieces of the font subsystem are playing together in OpenJDK? Cheers, Roman -- http://kennke.org/blog/ From Igor.Nekrestyanov at Sun.COM Wed Aug 8 04:46:11 2007 From: Igor.Nekrestyanov at Sun.COM (Igor Nekrestyanov) Date: Wed, 08 Aug 2007 15:46:11 +0400 Subject: Freetype font rasteriser In-Reply-To: <1186571736.6136.22.camel@mercury> References: <46B8FD7A.7040108@sun.com> <1186571736.6136.22.camel@mercury> Message-ID: <46B9AD03.2060809@sun.com> Hi Roman, are you using latest binary plugs? I believe this particular was recently added (b16 or b17) and it seems it was not pulled correctly. Could it be that you were using old version of plugs? These is no complete documentation yet. Bits of available documentation are spread out as comments (sometimes large) in the sources. It certainly will be nice to collect them in the single place as starting point for design description. I can try to do this or someone else can help to prepare first draft and we will help to fix it and fill gaps in the knowledge. -igor Roman Kennke wrote: > Hi Phil, > > >> Just wondering if anyone has any comments/bugs/patches etc on the freetype replacement >> for the encumbered font rasteriser that we finally put out last week? >> > > This is really cool. However, I can't seem to do a working build of > OpenJDK: > > roman at mercury:~/src/OpenJDK/openjdk/control/make > $ ../build/linux-i586/j2sdk-image/bin/java > -jar /usr/lib/jvm/java-6-sun/demo/jfc/Java2D/Java2Demo.jar Exception in > thread "main" java.util.ServiceConfigurationError: > sun.java2d.pipe.RenderingEngine: Provider sun.dc.DuctusRenderingEngine > not found > at java.util.ServiceLoader.fail(ServiceLoader.java:232) > at java.util.ServiceLoader.access$400(ServiceLoader.java:182) > at java.util.ServiceLoader > $LazyIterator.next(ServiceLoader.java:368) > at java.util.ServiceLoader$1.next(ServiceLoader.java:439) > at sun.java2d.pipe.RenderingEngine > $1.run(RenderingEngine.java:127) > ... (etc) > > It's nice that the ductus library is removed now, but, ehem, graphics > don't work anymore ;-) > > Besides this, is there a document anywhere that describes how the many > pieces of the font subsystem are playing together in OpenJDK? > > Cheers, Roman > > From roman at kennke.org Wed Aug 8 05:13:45 2007 From: roman at kennke.org (Roman Kennke) Date: Wed, 08 Aug 2007 14:13:45 +0200 Subject: Freetype font rasteriser In-Reply-To: <46B9AD03.2060809@sun.com> References: <46B8FD7A.7040108@sun.com> <1186571736.6136.22.camel@mercury> <46B9AD03.2060809@sun.com> Message-ID: <1186575225.6136.25.camel@mercury> Hi Igor, hi people, > are you using latest binary plugs? Duh! I pulled them in and now it works. Great work! Fonts seem to work very fine here. > These is no complete documentation yet. > Bits of available documentation are spread out as comments (sometimes > large) in the sources. > It certainly will be nice to collect them in the single place as > starting point for design description. > I can try to do this or someone else can help to prepare first draft and > we will help to > fix it and fill gaps in the knowledge. Ok, I'll see if I can come up with something after/while studying the implementation. /Roman -- http://kennke.org/blog/ From Igor.Nekrestyanov at Sun.COM Wed Aug 8 05:28:51 2007 From: Igor.Nekrestyanov at Sun.COM (Igor Nekrestyanov) Date: Wed, 08 Aug 2007 16:28:51 +0400 Subject: [OpenJDK 2D-Dev] Freetype font rasteriser In-Reply-To: <1186575225.6136.25.camel@mercury> References: <46B8FD7A.7040108@sun.com> <1186571736.6136.22.camel@mercury> <46B9AD03.2060809@sun.com> <1186575225.6136.25.camel@mercury> Message-ID: <46B9B703.2020503@sun.com> > > Ok, I'll see if I can come up with something after/while studying the > implementation. > > I suggest to have a look to FontScaler.java for start. -igor From fkung at redhat.com Wed Aug 8 08:10:19 2007 From: fkung at redhat.com (Francis Kung) Date: Wed, 08 Aug 2007 11:10:19 -0400 Subject: Freetype font rasteriser In-Reply-To: <46B8FD7A.7040108@sun.com> References: <46B8FD7A.7040108@sun.com> Message-ID: <46B9DCDB.1010305@redhat.com> Hi Phil, > Just wondering if anyone has any comments/bugs/patches etc on the > freetype replacement > for the encumbered font rasteriser that we finally put out last week? I've poked around this code a bit over the last couple of days, and it's quite nice - thanks for releasing this! Creating the new FontScaler interface has really cleaned things up from the Java end, too. I haven't had a chance to go over it in much detail (I've been busy with other non-openjdk work), but the only bug I've found so far is in positioning rotated text. The jfig editor (http://tams-www.informatik.uni-hamburg.de/applets/jfig/) is a good test; with the new font code, glyphs are spaced too tightly and the baseline is uneven when a rotation is set. I'm also curious as to why getGlyphOutline retrieves a Freetype outline and iterates though it "manually", rather than defining simple callback functions and letting Freetype do the work via FT_Outline_Decompose - but functionally it should be the same. Otherwise, the Freetype work here is quite similar to what we've done in IcedTea to get font support, which is a good sign - we're much more likely to both be right than both be wrong ;-) I'll hopefully have some time to look over this in more detail and give some more specific comments soon, but it's been really exciting to see this drop - thanks! Regards, Francis From Igor.Nekrestyanov at Sun.COM Wed Aug 8 09:13:25 2007 From: Igor.Nekrestyanov at Sun.COM (Igor Nekrestyanov) Date: Wed, 08 Aug 2007 20:13:25 +0400 Subject: Freetype font rasteriser In-Reply-To: <46B9DCDB.1010305@redhat.com> References: <46B8FD7A.7040108@sun.com> <46B9DCDB.1010305@redhat.com> Message-ID: <46B9EBA5.9090408@sun.com> Hi, >> Just wondering if anyone has any comments/bugs/patches etc on the >> freetype replacement >> for the encumbered font rasteriser that we finally put out last week? > > I haven't had a chance to go over it in much detail (I've been busy > with other non-openjdk work), but the only bug I've found so far is in > positioning rotated text. The jfig editor > (http://tams-www.informatik.uni-hamburg.de/applets/jfig/) is a good > test; with the new font code, glyphs are spaced too tightly and the > baseline is uneven when a rotation is set. Thanks for reporting this. Another known problem is usage of embedded bitmaps in the LCD mode. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6587560 It will be good to file bugs for observed problems. Until OpenJDK get own bug database - use http://bugs.sun.com/bugdatabase/ to report them. And we also looking for fixes :) > I'm also curious as to why getGlyphOutline retrieves a Freetype > outline and iterates though it "manually", rather than defining simple > callback functions and letting Freetype do the work via > FT_Outline_Decompose - but functionally it should be the same. True. Initially i had some subtle reasons to do this and they probably not applicable anymore (because i can not recall them). I had plan to rewrite this but never got to this. Priority was to refactor architecture without breaking everything and because of this freetype glue code did not enough attention. Feel free to suggest (or even better submit) improvements. Now it is much easier to accept contributions for this part of code. -igor