0

我对“组合字体”(日文和英文)有很大的麻烦。

我必须从我的网站中显示的 HTML 内容创建一个 PDF 文档。为此,我使用<cfdocument>并实现了 HTML 内容中的 PDF。但是我的内容包括日文和英文内容,并且在创建的 PDF 中以与我网站上的字体不同的字体显示。该问题仅发生在日语和英语组合部分的情况下。

要求是:

  • 对于英文内容,字体应为 Verdana。
  • 对于日文内容,字体应为 Simson。

我已经用韩语、中文、法语实现了相同的功能,而且效果很好。

为了输出特殊字符,我<cfprocessingDirective pageEncoding="utf-8">在代码上方添加了。但是我仍然对英文和日文的内容感到奇怪的字体。

我尝试过的代码如下,

        <cfcontent type="application/pdf">
        <cfheader name="Content-Disposition" value="attachment;filename=test.pdf">
        <cfprocessingdirective pageencoding="utf-8">
        <cfdocument format="PDF" localurl="yes" marginTop=".25" marginLeft=".25" marginRight=".25" marginBottom=".25" pageType="custom" pageWidth="8.5" pageHeight="10.2">
        <cfoutput>
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
         <title>PDF Export Example</title>
         <style>
          body { font-family: Verdana; }
          h1 { font-size: 14px; }
          p { font-size: 12px; line-height: 1.25em; margin-left:20px;}
           </style>
        </head>
        <body>
        <h1>PDF Export Example Combined Japanese & English</h1>
        <p>This is an japanese with english example 
        日本人は単純な音素配列論で膠着、モーラ·タイミングの言語、純粋な母音システム、
        音素の母音と子音の長さ、および語彙的に重要なピッチアクセント。語順は通常、粒子が言葉の文法的機能をマ
        ーキング対象オブジェクトと動詞であり、文の構造は、トピック·コメントです。文末粒子は、感情的または強調の影響を追加したり、
        質問を作るために使用されます。名詞は文法的に番号や性別を持たず、何の記事はありません。動詞は主に緊張し、音声ではなく、
        人のために、コンジュゲートされる。形容詞の日本の同等物は、また、結合している。日本人は動詞の形や語彙、話者の相対的な地位、
        リスナーおよび掲げる者を示すと敬語の複雑なシステムを持っています。This is an example.
        </p>
        <h1>PDF Export English Example</h1>
        <p>This is an example.
        </p>
        </body>
        </html>
        </cfoutput>
        </cfdocument>

我还应该做些什么来解决这个问题?

谢谢你。

4

1 回答 1

0

根据我得到和研究的结果,我发现英语和日语内容的 PDF 样式呈现存在问题。

所以最后我找到了解决方案,

  1. 在日语和英语单词之间应用空格。
  2. 迭代整个字符串(带空格分隔符的列表)
  3. 然后可以通过正则表达式区分英文单词和日文单词
  4. 通过跨度(或任何)标签包装英语单词,为英语单词应用单独的样式。

我不知道这是否是解决此问题的正确方法。这就是我为解决问题所做的。

于 2013-12-26T11:17:51.980 回答