Return-Path: Delivered-To: apmail-xmlgraphics-fop-dev-archive@www.apache.org Received: (qmail 93129 invoked from network); 3 Aug 2005 20:15:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 3 Aug 2005 20:15:43 -0000 Received: (qmail 2139 invoked by uid 500); 3 Aug 2005 20:15:41 -0000 Delivered-To: apmail-xmlgraphics-fop-dev-archive@xmlgraphics.apache.org Received: (qmail 2111 invoked by uid 500); 3 Aug 2005 20:15:41 -0000 Mailing-List: contact fop-dev-help@xmlgraphics.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: fop-dev@xmlgraphics.apache.org Delivered-To: mailing list fop-dev@xmlgraphics.apache.org Received: (qmail 2098 invoked by uid 99); 3 Aug 2005 20:15:41 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Aug 2005 13:15:41 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [212.72.224.19] (HELO hgatenl.hobby.nl) (212.72.224.19) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Aug 2005 13:15:31 -0700 Received: from hgatenl.hobby.nl (localhost [127.0.0.1]) by hgatenl.hobby.nl (8.13.3/8.13.1) with ESMTP id j73KFYlr029639 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 3 Aug 2005 22:15:35 +0200 (CEST) (envelope-from spepping@leverkruid.nl) Received: (from uucp@localhost) by hgatenl.hobby.nl (8.13.3/8.13.1/Submit) with UUCP id j73KFYpG029638 for fop-dev@xmlgraphics.apache.org; Wed, 3 Aug 2005 22:15:34 +0200 (CEST) (envelope-from spepping@leverkruid.nl) Received: from simon by oranjetip.leverkruid.nl with local (Exim 4.34 #1 (Debian)) id 1E0PPf-0001N8-Ur; Wed, 03 Aug 2005 22:00:27 +0200 Date: Wed, 3 Aug 2005 22:00:27 +0200 From: Simon Pepping To: fop-dev@xmlgraphics.apache.org Subject: Re: Handling of block-level FOs inside fo:inline and related Message-ID: <20050803200027.GA5179@oranjetip.leverkruid.nl> Mail-Followup-To: fop-dev@xmlgraphics.apache.org References: <20050803200801.3CBB.DEV.JEREMIAS@greenmail.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050803200801.3CBB.DEV.JEREMIAS@greenmail.ch> User-Agent: Mutt/1.5.6+20040722i X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N I have been working on that, rather slowly, as I do not have much time. My solution for the Knuth Elements is that each inline level LM returns a list of Knuth sequences, inline or block. This part works well. The code works well for fo:inline with inline or block content. I have not yet implemented it in other LMs except BasicLinkLM. I have done some work for rendering. But I am not very familiar with that part of FOP, and have not yet paid attention to details. I will post a patch on Bugzilla. The present state of the code breaks other inline level LMs as they do not yet return the correct data structure for the next Knuth elements. Therefore I cannot commit it to HEAD. I could commit it into a branch. For the next few weeks I will also spend a lot of time on other things. So, if I am progressing too slowly, someone else should feel free to take this further. Regards, Simon On Wed, Aug 03, 2005 at 08:30:56PM +0200, Jeremias Maerki wrote: > fo:inline, fo:bidi-override and fo:inline-container are all inline-level > FOs and all allow block-level content. Currently, they are not > implemented. See, for example, inline1.xml which fails with a > ClassCastException. The FO I skipped here is fo:wrapper which in the > current implementation doesn't really wrap its content and therefore > avoids an important problem: > > Inline FOs return element lists processed by the line breaker. They > don't have a way to return elements for the page breaker. > > I've been asked to do a time estimate for implementing fo:inline. > fo:inline is particularly important since a lot of people use empty > fo:blocks, for example, to mimic newlines. Now I wonder about how to > implement fo:inline. The only way I came up with was to try normalizing > the FO tree and to let fo:inline be what it currently is: > > Input: > > blah blah blahblahblah > > Output: > > blah blah blah > > blahblah > > or: > > > blah blah blah > > blahblah > > > Replicating the properties of an fo:inline to a copy shouldn't be much > of a problem. Replicating the properties for the contained block might > already me a little more difficult because of the whole inheritance > stuff. > > Is there another way? A better way? Any ideas? > > For fo:bidi-override, the same approach would be used. > > For fo:inline-container this whole thing is easier since it generates a > viewport/reference pair, so it will ultimately need its own breaker > (like absolutely positioned block-containers). > > > Jeremias Maerki > -- Simon Pepping home page: http://www.leverkruid.nl