linux服務器下添加字體


版權聲明:本文為樓主原創文章,未經樓主允許不得轉載,如要轉載請注明來源。

  引言:這兩天在開發一個動態生成海報的東西(圖片拼接,圖片水印),開發在windows下沒有問題,圖片和文字都能正常的生成出來。但是當我將程序發布到服務器上(linux)時,發現生成的海報圖片文字沒生成出來。樓主使用的是graphics.drawString("張三", chunkWidth, chunkHeight);這里graphics使用的字體樓主設置的是宋體。而BufferedImage在內存創建的圖像調用的是服務器端的字體。而程序所在的linux服務器沒有裝該字體,所以就出現了文字沒生成出來的問題。下面講怎樣在linux服務器下添加字體。

這里我將本機的宋體安裝到linux服務器上。

首先得找到宋體的文件,很簡單:我們打開c盤,搜索simsun.ttc,然后將該文件copy一份。或者自己網上去下載也行。

樓主試了兩種方法:

1.在java環境中添加字體

首先進入到服務器使用的jre目錄,一般都是在:usr/lib/jvm/java-6-sun/jre/lib/fonts

使用的命令就是 cd usr/lib/jvm/java-1.8.0/jre/lib/fonts.

注意:這里的java-1.8.0可能和你的不一樣,按你自己的名稱進入。如果進去之后沒有fonts文件夾,就自己創建一個,命令是  mkdir fonts

進入之后,將simsun.ttc文件copy到該目錄下即可。(可以使用文件服務器放上去,你也可以使用linux的cp命令)

然后重啟服務器就ok

2.添加系統字體

首先需要將simsun.ttc放到服務器上,可以建一個目錄,樓主建的目錄為:fonts

進入到該目錄,將simsun.ttc放在該目錄下,然后開始執行以下命令:

[root@localhost fonts]# mkfontscale [root@localhost fonts]# mkfontdir [root@localhost fonts]# fc-cache
這樣在重啟服務器就ok了。
                                

 


免責聲明!

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



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