LODOP字體不識別 英文字母連起來 引號不正常


打印超文本的時候,有時候會發現html中設置的css樣式顯示不正常,字體根本不是設置的字體,這種情況有可能是:
1.該操作系統沒有安裝自己指定的那種字體,那么沒有安裝自然就不能顯示設置的字體。
2.該操作系統已經安裝了該字體,但是在css樣式中指定字體的時候,用的不是字體實名,而是字體別名,因為字體別名屬於web領域的行業習慣,不屬於國際規范,事實上非常亂,lodop出於性能考慮,所以lodop沒有把別名對照功能加進去
如何查看字體實名:
(1)可以進入打印設計,在打印設計里添加個超文本,展開字體選項的下拉列表,可以查看到該windows操作系統安裝的所有字體,他們本身的實名。
(2)在操作系統的控制面板里,點擊字體,彈出的窗口中,可以看到“字體名稱:”,后面這個就是字體的實名。

有些時候發現英文字母連起來了,有些字母的部分連着其他字母的部分,間隔不正常,這種也可能是使用字體別名導致的,更改為正常的字體實名后,可以顯示正常。

在使用中文“”“”中文引號的時候,中文引號中是漢字,漢字和中文引號發生重疊,這種也可以通過指定一個具體的字體實名,讓它顯示正常。

這種字體顯示不正常,字母連接,和引號重疊,在打印設計里可能正常顯示,預覽和打印不正常,這種時候可以通過指定具體字體實名試試。之前的相關博文:Lodop中特殊符號¥打印設計和預覽不同

也可以通過把ADD_PRINT_HTM改成ADD_PRINT_HTML顯示出該樣式,ADD_PRINT_HTML是圖形模式,能較好的顯示出頁面原本的樣式,但是這種ADD_PRINT_HTML放大后會不清晰,適合高精度的圖文打印機,普通打印機,還是用建議使用指定具體的字體實名方式解決這三個問題

測試用的代碼以及效果,我本機有安裝這個楷體字體的:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<div id="dd">
<p>沒有字體樣式的 非KaiTi “引號”</p>
<p style="font-family:'楷體';">超文本字體楷體 非KaiTi “引號”</p>
<p style="font-family:'KaiTi';">超文本字體別名KaiTi “引號”</p>
</div>
<a href="javascript:prn1_preview()">打印預覽</a>
<script language="javascript" type="text/javascript">   
        var LODOP; //聲明為全局變量 
    function prn1_preview() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.ADD_PRINT_HTM(157,40,300,114,document.getElementById("dd").innerHTML)
        LODOP.ADD_PRINT_HTML(300,40,300,114,document.getElementById("dd").innerHTML)
        LODOP.PRINT_DESIGN();
        //LODOP.PREVIEW();    
    };
</script> 
</body>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM