[xep-support] Chinese hyphenation particularity

Nicolas Lalevée nicolas.lalevee at anyware-tech.com
Thu Mar 9 00:06:38 PST 2006


Hi again,

Should I conclude that XEP has no way to support it properly ?
In XSL Formatter, there is an option to do a such hyphenation :
axf:avoid-widow-words
In FOP, there is nothing else that coding it myself.
Is there any such option in XEP ?

thanks in advance
Nicolas

Nicolas Lalevée a écrit :

>Hi everybody,
>
>I have succeeded in producing a chinese PDF from an XML document via a
>XSL transformation.
>There is a last problem. The professional chinese document should not
>let a chinese character alone on a line.
>For instance, I have the sentense "AZERTYUIO." to render in PDF. XEP
>generate a PDF with :
>AZERTYUI
>O.
>
>And, for chinese people, that's not a well rendered document. The
>prefered layout is :
>AZERTYUIO. (the characters have to be compressed)
>or
>AZERTYU (the characters have to be expanded)
>IO.
>
>The only way I found to do so is to force the last three characters of a
>text to be "no-wrap". Here is my XSL template :
>
>    <xsl:template match="text()">
>        <xsl:variable name="txt">
>            <xsl:call-template name="string.subst">
>                <xsl:with-param name="string">
>                    <xsl:call-template name="string.subst">
>                        <xsl:with-param name="string">
>                            <xsl:call-template name="string.subst">
>                                <xsl:with-param name="string" select="." />
>                                <xsl:with-param name="target"
>select="'.'" />
>                                <xsl:with-param name="replacement"
>select="'.&#x200B;'" />
>                            </xsl:call-template>
>                        </xsl:with-param>
>                        <xsl:with-param name="target" select="'\'" />
>                        <xsl:with-param name="replacement"
>select="'\&#x200B;'" />
>                    </xsl:call-template>
>                </xsl:with-param>
>                <xsl:with-param name="target" select="'/'" />
>                <xsl:with-param name="replacement" select="'/&#x200B;'" />
>            </xsl:call-template>
>        </xsl:variable>
>        <xsl:choose>
>            <xsl:when test="string-length($txt) > 3">
>                <xsl:value-of select="substring($txt, 1,
>string-length($txt)-3)" />
>                <fo:inline wrap-option="no-wrap" hyphenate="false"
>keep-together.within-line="always">
>                    <xsl:value-of select="substring($txt,
>string-length($txt)-2, string-length($txt))" />
>                </fo:inline>
>            </xsl:when>
>            <xsl:otherwise>
>                <xsl:value-of select="$txt" />
>            </xsl:otherwise>
>        </xsl:choose>
>    </xsl:template>
>
>And that's a not good solution because some ends of line can be missed.
>In my XML source document, I can have inline formatting properties, like
>bold or italic, that makes the text sequence shorter than 3, even if the
>complete sentense contains more than 3 characters.
>
>Is there any other way to handle this hyphenation particularity ?
>
>Thanks in advance
>Nicolas
>
>  
>


-- 
Nicolas LALEVÉE
Solutions & Technologies
ANYWARE TECHNOLOGIES
Tel : +33 (0)5 61 00 52 90
Fax : +33 (0)5 61 00 51 46
http://www.anyware-tech.com

-------------------
(*) To unsubscribe, send a message with words 'unsubscribe xep-support'
in the body of the message to majordomo at renderx.com from the address
you are subscribed from.
(*) By using the Service, you expressly agree to these Terms of Service http://www.renderx.com/terms-of-service.html



More information about the Xep-support mailing list