<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 16.8 Unicode字符問題 聲明:由于本人對自字符集了解不深,因此翻譯效果比較差,忘各大網友給予大力支持。 在我們關心我們所使用的字體字符集時,在JFreeChart和iText中使用Unicode字符集是沒有任何問題的。在上面的例子中我們需要做一些修改來演示如何做到這些。 ### 16.8.1 背景 Java使用同一的字符集譯碼成文本字符串。這種譯碼對每個字符使用16進制。這就意味著將有65,536個有效的不同字符集(在Unicode標準中定義了大約38,000個字符)。 我們可以在JFreeChart和iText中使用這些字符,但歸于一條:那就是只要我們使用的字體,包括我們用來顯示的文本或者不顯示的,都必須定義這些字符。許多字體并不完全顯示成Unicode字符集。下面的網站含有那些的確支持Unicode的字體的有用信息: [http://www.slovo.info/unifonts.htm](http://www.slovo.info/unifonts.htm) 我們可以成功的提取使用tahoma.ttf字體。實際上,下面實例中我們將使用該字體,Tahoma字體并不是支持Unicode定義的每一個字符。因此,如果我們想使用一種特殊的字體時,就得必須選Unicode中一種相近的字體來代替。我們系統上都安裝了字體Unicode MS (arialuni.ttf)——該字體完全支持Unicode字符集,盡管這種字體的定義的文件特別大(大約24M) ### 16.8.2 字體、iText和Java iText依照PDF規格來處理字體,這就對使用PDF文件嵌入的字體來處理文件帶來了非常大的方便性,同時也需要自由讀取定義文件的字體。 而java在字體類中汲取了部分字體格式的大部分細節內容。 在iText中,為支持Graphics2D的實現畫圖功能,實現從Java字體對象到BaseFont對象的映射字體對象是非常有必要的。這就是FontMapper接口所扮演的角色。 如果我們使用缺省的構建器構建了一個新的DefaultFontMapper實例,那么總會帶有Java規格定義的本地字體映射。但是如果我們想使用其他一些字體——并且我們必須使用Unicode之外的字符——那么我們需要將其他的字符映射加入到DefaultFontMapper對象中。 ### 16.8.3 映射第三方的字體 這里我們決定使用Tahoma字體來顯示標題。該字體的定義文件(tahoma.ttf)在我們系統下面的目錄下可以找到。 ``` /opt/sun-jdk-1.4.2.08/jre/lib/fonts ``` 現在我們使用代碼說明,使用iText創建FontMapper對象來使用Tahoma字體: ``` //設置字體 DefaultFontMapper mapper = new DefaultFontMapper(); mapper.insertDirectory("D:\\jre1.5.0_10\\lib\\fonts"); DefaultFontMapper.BaseFontParameters pp = mapper.getBaseFontParameters("Tahoma"); if (pp!=null) { pp.encoding = BaseFont.IDENTITY_H; } ``` 現在我們可以修改創建圖表的代碼,將圖表的標題使用該字體: ``` TextTitle textTitle = chart.getTitle(); textTitle.setFont(new Font("Tahoma", Font.PLAIN, 20)); String text = "\u278A\u20A0\u20A1\u20A2\u20A3\u20A4\u20A5\u20A6\u20A7\u20A8\u20A9"; // String text = "hi"; Font font = new Font("Tahoma", Font.PLAIN, 12); TextTitle subtitle = new TextTitle(text, font); chart.addSubtitle(subtitle); ``` 副標題的輸出如下圖16.2所示。實例已經嵌入到PDF文件中。因此本文演示的該小程序很好的展示了這種類型的輸出,給出了詳細的步驟指南,便于我們正確使用。 ![](img/jfc108260.png) 如圖16.2 一個Unicode副標題的圖表
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看