您好,登錄后才能下訂單哦!
本篇內容主要講解“如何解決Ubuntu下NetBeans中文亂碼及方框問題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何解決Ubuntu下NetBeans中文亂碼及方框問題”吧!
當我在ubuntu 11.04中安裝netbeans 7.0的時候,出現一個奇怪的現象,啟動netbeans中,發現很多中文字無法顯示,直接顯示一個方框。很顯然是沒有找到某些字的顯示數據,但是奇怪的是有些漢字可以顯示,真神奇,難道netbeans所用到的字庫居然不全嗎?
而 ubuntu可以正常顯示漢字,說明ubuntu本身的字庫應該是沒問題到。那么問題出在什么地方呢?
答案是:JRE
netbean是用java寫的,它的運行是必須要依靠JRE的,這個大家都知道。而JRE使用的字體是依靠JRE本身的配置文件來決定在系統中和什么字體文件對應的。
因此判定是這種對應出了問題。
根據Java的官方文檔(http://download.oracle.com/javase/1.5.0/docs/guide/intl/fontconfig.html#loading),字體對應配置文件是位于jre/lib下面,有兩種形式,一種是src文件,一種是bfc文件。bfc文件是二進制的,系統預定義的,所以我們需要修改的是src文件,到這個目錄,一看,如下圖:
看到這些文件名,基本也明白了個大概。看看fontconfig.OS.version.properties.src這種格式就應該明白,這是不同操作系統平臺的配置文件,jre會根據操作系統的不同而自動選擇對應的配置文件,因此,我打開了ubuntu 的對應文件,看第一行:
代碼如下:
allfonts.chinese-cn-iso10646=-arphic-ar pl uming cn-light-r-normal--*-%d-*-*-c-*-iso10646-1
這里指定了jre用到邏輯字體和物理字體的對應關系,等號左邊就是jre用的邏輯字體,而等號右邊就是需要使用的物理字體了。
只是這個物理字體看起來跟火星文差不多,但是這個火星文可是正宗的X logical font description (XLFD)描述方式,這里不多說了,想了解的讀者可以自己去google一下即可。
然后再看配置文件# Font File Names部分,其中有一行:
代碼如下:
filename.-arphic-ar_pl_uming_cn-light-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/truetype/arphic/uming.ttc
這是上面描述的物理字體和系統字體文件的對應描述。
左邊不就是上面我們看著像火星文的物理字體名稱嗎?正好不知道哪兒去找這個字體,這下不就有答案了。連目錄都告訴你了。
立刻跑到/usr/share/fonts/truetype目錄去一看,不要說uming.ttc,連arphic這個目錄都沒有!
這下就面臨兩個選擇:
1.修改配置文件,讓他指向系統有的字體文件。
也就是修改:/usr/share/fonts/truetype/arphic/uming.ttc這部分,修改成存在的字體文件名稱即可。
2.安裝一個uming.tcc字體文件。
由于uming.tcc字體是比較有名的,是一個高質量的中文字庫。因此我還是決定選擇第二種方案。
到網上一goole,立刻找到了下載地址:http://ftp.br.debian.org/debian/pool/main/t/ttf-arphic-uming/ttf-arphic-uming_0.2.20080216.1-3_all.deb
下載回來之后:sudo dpkg -i ttf-arphic-uming_0.2.20080216.1-3_all.deb
安裝順利完成,這個時候再跑到/usr/share/fonts/truetype目錄去一看,這下有arphic這個目錄了,然后打開目錄一看,uming.ttc就在那里!
馬上打開netbeans,漫長的等待,終于看到了窗口,一切都有了,字體看著確實很美,不愧是arphic 產品啊。
自此問題完美的解決了,不管版本如何變化,都可以按照這個方式去解決問題。
網上一些文章說的cp字體到jre/lib/fonts/fallback,很多人不懂原理。fallback的目錄是jre字體后備目錄,意思就是按照正常配置找不到字體信息,就會在這個目錄下按照配置文件設定的順序到字體文件中去尋找。用這個方式有兩個問題,一個是效率低下。二是字體不統一,會出現例如:文件這個詞,文是楷體,件是黑體的“壯觀”景象!為什么?因為文字在楷體字庫找到了,但是這個字庫找不到件字,于是就在fallback中到黑體字庫去找,并且找到。這種現象就神奇的出現了!
所以這個方式其實是屬于歪打正著的方法,很多人糊里糊涂顯示正常了,也沒有搞懂原理。而另外一些人就會出現字體不統一到情況。
當然,上面所說的一切,在windows上均不會發生。因為windows比較統一,所以配置文件的配置一定可以正常工作,不會出現類似linux的連字體文件都可能找不到的情況。這也證明了規范,統一在軟件中的重要性。
到此,相信大家對“如何解決Ubuntu下NetBeans中文亂碼及方框問題”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。