我使用DITA Open Toolkit 1.7和RenderX XEP將DITA映射轉換爲PDF。在DITA主題中,使用conrefs插入產品名稱。我的一個產品名稱很長。它在表格中使用時會導致佈局問題。因此,我插入軟連字符成通過conref重用短語:如何從使用XSL-FO生成的PDF書籤中去除Unicode軟連字符
<ph id="PD_FineReader2Comp">DOXiS4 FineReader2­Components</ph>
這很好地工作在生成的頁面,而造成在一個符號顯示在地方軟連字符的書籤時出現問題。
顯然,這是一種編碼的問題。看起來,UTF-8字符在PDF內容中可以正確處理,但在PDF書籤中卻沒有,根據以下來源,可以使用一些PDF-16字符(但我不明白哪些字符)。
- http://partners.adobe.com/public/developer/en/pdf/PDFReference.pdf
- http://www.setasign.de/support/tips-and-tricks/use-unicode-in-string-values/
的DITA開放工具包似乎產生了使用此代碼片段從主題標題書籤:
<fo:bookmark>
<xsl:attribute name="internal-destination">
<xsl:call-template name="generate-toc-id"/>
</xsl:attribute>
<xsl:if test="$bookmarkStyle!='EXPANDED'">
<xsl:attribute name="starting-state">hide</xsl:attribute>
</xsl:if>
<fo:bookmark-title>
<xsl:value-of select="normalize-space($topicTitle)"/>
</fo:bookmark-title>
<xsl:apply-templates mode="bookmark"/>
</fo:bookmark>
的XSL樣式表具有2.0版。
我想創建一個覆蓋刪除違規字符。我怎樣才能做到這一點?
- 是否有可能正確解決編碼問題? (可能不可能)。
- 是否有任何刪除空格,製表符,換行符和回車符之外的空格的XSL函數或屬性?
- 或者我需要對軟連字符進行特殊處理嗎?
謝謝您的建議。它的工作和解決眼前的問題。 – 2013-02-13 19:37:24