[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] PDF output of <inlinemediaobject> within lists
Thank you very much for your quick response. Your customization improved it, but I'm still having problems. <imagedata valign="bottom"/> is the only option that still seems to keep the list label aligned with the list text. If I use valign="top" or valign="center", the list text is lower than the list label. Also, it won't align at all unless I adjust the DPI of the icon to make it much smaller. Here's what it looks like: http://img329.imageshack.us/img329/2944/closerzi5.png Any ideas? Thanks again for your quick response. Joseph Caporale Mads Ipsen-2 wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > caporale wrote: >> I'm using FOP 0.93 and xsltproc. >> >> The XML looks like this: >> >> <orderedlist> >> <listitem><para><inlinemediaobject/></para></listitem> >> ... >> </orderedlist> >> >> This is what the output looks like: >> http://img248.imageshack.us/my.php?image=inlinemediaobjectkl4.png >> >> Is there any way I can get the list label in line with the rest of it? > HTML >> output looks fine, and this is what I want it to look like: >> >> http://img519.imageshack.us/my.php?image=inlinemediaobject2xl2.png >> >> Thank you, >> Joseph Caporale >> > I was struggling with this issue as well. You'd expect setting > > valign="middle" > > to do the job, i.e something like > > <inlinemediaobject> > <imageobject> > <imagedata fileref = "icon.png" > valign = "middle" > /> > </imageobject> > </inlinemediaobject> > > But it does not, since the FO xsl stylesheets does insert the right > attributes into the <fo:inline> element. > > Below I include a changed definition of the template <xsl:template > name="process.image"> to get it to work (add this chunk to your > customization layer). It might have other unexpetcted consequences, > but solved the issue. The important part is the setting for the > <xsl:if test="@valign"> attribute. > > Best, Mads > > <!-- ******************************************************************** > Redefine valign such that inline icons get vertical center. > > ******************************************************************** --> > <xsl:template name="process.image"> > <xsl:variable name="scalefit"> > <xsl:choose> > <xsl:when test="$ignore.image.scaling != 0">0</xsl:when> > <xsl:when test="@contentwidth">0</xsl:when> > <xsl:when test="@contentdepth and > @contentdepth != '100%'">0</xsl:when> > <xsl:when test="@scale">0</xsl:when> > <xsl:when test="@scalefit"><xsl:value-of > select="@scalefit"/></xsl:when> > <xsl:when test="@width or @depth">1</xsl:when> > <xsl:otherwise>0</xsl:otherwise> > </xsl:choose> > </xsl:variable> > > <xsl:variable name="scale"> > <xsl:choose> > <xsl:when test="$ignore.image.scaling != 0">0</xsl:when> > <xsl:when test="@contentwidth or @contentdepth">1.0</xsl:when> > <xsl:when test="@scale"> > <xsl:value-of select="@scale div 100.0"/> > </xsl:when> > <xsl:otherwise>1.0</xsl:otherwise> > </xsl:choose> > </xsl:variable> > > <xsl:variable name="filename"> > <xsl:choose> > <xsl:when test="local-name(.) = 'graphic' > or local-name(.) = 'inlinegraphic'"> > <!-- handle legacy graphic and inlinegraphic by new template --> > <xsl:call-template name="mediaobject.filename"> > <xsl:with-param name="object" select="."/> > </xsl:call-template> > </xsl:when> > <xsl:otherwise> > <!-- imagedata, videodata, audiodata --> > <xsl:call-template name="mediaobject.filename"> > <xsl:with-param name="object" select=".."/> > </xsl:call-template> > </xsl:otherwise> > </xsl:choose> > </xsl:variable> > > <xsl:variable name="content-type"> > <xsl:if test="@format"> > <xsl:call-template name="graphic.format.content-type"> > <xsl:with-param name="format" select="@format"/> > </xsl:call-template> > </xsl:if> > </xsl:variable> > > <xsl:variable name="bgcolor"> > <xsl:call-template name="dbfo-attribute"> > <xsl:with-param name="pis" > select="../processing-instruction('dbfo')"/> > <xsl:with-param name="attribute" select="'background-color'"/> > </xsl:call-template> > </xsl:variable> > > <fo:external-graphic> > <xsl:attribute name="src"> > <xsl:call-template name="fo-external-image"> > <xsl:with-param name="filename"> > <xsl:if test="$img.src.path != '' and > not(starts-with($filename, '/')) and > not(contains($filename, '://'))"> > <xsl:value-of select="$img.src.path"/> > </xsl:if> > <xsl:value-of select="$filename"/> > </xsl:with-param> > </xsl:call-template> > </xsl:attribute> > > <xsl:attribute name="width"> > <xsl:choose> > <xsl:when test="$ignore.image.scaling != 0">auto</xsl:when> > <xsl:when test="contains(@width,'%')"> > <xsl:value-of select="@width"/> > </xsl:when> > <xsl:when test="@width and not(@width = '')"> > <xsl:call-template name="length-spec"> > <xsl:with-param name="length" select="@width"/> > <xsl:with-param name="default.units" select="'px'"/> > </xsl:call-template> > </xsl:when> > <xsl:when test="not(@depth) and $default.image.width != ''"> > <xsl:call-template name="length-spec"> > <xsl:with-param name="length" select="$default.image.width"/> > <xsl:with-param name="default.units" select="'px'"/> > </xsl:call-template> > </xsl:when> > <xsl:otherwise>auto</xsl:otherwise> > </xsl:choose> > </xsl:attribute> > > <xsl:attribute name="height"> > <xsl:choose> > <xsl:when test="$ignore.image.scaling != 0">auto</xsl:when> > <xsl:when test="contains(@depth,'%')"> > <xsl:value-of select="@depth"/> > </xsl:when> > <xsl:when test="@depth"> > <xsl:call-template name="length-spec"> > <xsl:with-param name="length" select="@depth"/> > <xsl:with-param name="default.units" select="'px'"/> > </xsl:call-template> > </xsl:when> > <xsl:otherwise>auto</xsl:otherwise> > </xsl:choose> > </xsl:attribute> > > <xsl:attribute name="content-width"> > <xsl:choose> > <xsl:when test="$ignore.image.scaling != 0">auto</xsl:when> > <xsl:when test="contains(@contentwidth,'%')"> > <xsl:value-of select="@contentwidth"/> > </xsl:when> > <xsl:when test="@contentwidth"> > <xsl:call-template name="length-spec"> > <xsl:with-param name="length" select="@contentwidth"/> > <xsl:with-param name="default.units" select="'px'"/> > </xsl:call-template> > </xsl:when> > <xsl:when test="number($scale) != 1.0"> > <xsl:value-of select="$scale * 100"/> > <xsl:text>%</xsl:text> > </xsl:when> > <xsl:when test="$scalefit = 1">scale-to-fit</xsl:when> > <xsl:otherwise>auto</xsl:otherwise> > </xsl:choose> > </xsl:attribute> > > <xsl:attribute name="content-height"> > <xsl:choose> > <xsl:when test="$ignore.image.scaling != 0">auto</xsl:when> > <xsl:when test="contains(@contentdepth,'%')"> > <xsl:value-of select="@contentdepth"/> > </xsl:when> > <xsl:when test="@contentdepth"> > <xsl:call-template name="length-spec"> > <xsl:with-param name="length" select="@contentdepth"/> > <xsl:with-param name="default.units" select="'px'"/> > </xsl:call-template> > </xsl:when> > <xsl:when test="number($scale) != 1.0"> > <xsl:value-of select="$scale * 100"/> > <xsl:text>%</xsl:text> > </xsl:when> > <xsl:when test="$scalefit = 1">scale-to-fit</xsl:when> > <xsl:otherwise>auto</xsl:otherwise> > </xsl:choose> > </xsl:attribute> > > <xsl:if test="$content-type != ''"> > <xsl:attribute name="content-type"> > <xsl:value-of select="concat('content-type:',$content-type)"/> > </xsl:attribute> > </xsl:if> > > <xsl:if test="$bgcolor != ''"> > <xsl:attribute name="background-color"> > <xsl:value-of select="$bgcolor"/> > </xsl:attribute> > </xsl:if> > > <xsl:if test="@align"> > <xsl:attribute name="text-align"> > <xsl:value-of select="@align"/> > </xsl:attribute> > </xsl:if> > > <xsl:if test="@valign"> > <xsl:attribute name="vertical-align"> > <xsl:choose> > <xsl:when test="@valign = 'top'">super</xsl:when> > <xsl:when test="@valign = 'middle'">middle</xsl:when> > <xsl:when test="@valign = 'bottom'">sub</xsl:when> > <xsl:otherwise>auto</xsl:otherwise> > </xsl:choose> > </xsl:attribute> > </xsl:if> > </fo:external-graphic> > </xsl:template> > </xsl:stylesheet> > > - -- > +---------------------------------+-------------------------+ > | Mads Ipsen | | > | Product Support Specialist | phone: +45-35320630 | > | Atomistix A/S | fax: +45-35320635 | > | Juliane Maries Vej 30 | | > | DK-2100 Copenhagen | mpi@atomistix.com | > +---------------------------------+-------------------------+ > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.3 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iD8DBQFGg2KLUiXEzEUa8LARAghtAJkBycuJx4rVKLctdWHP9+lgOE25GwCgoIcD > ai9wDabaPYGdgmwDHg+SAfE= > =Bk9n > -----END PGP SIGNATURE----- > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org > For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org > > > -- View this message in context: http://www.nabble.com/PDF-output-of-%3Cinlinemediaobject%3E-within-lists-tf3992649.html#a11344580 Sent from the docbook apps mailing list archive at Nabble.com.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]