修改美化Matlab字体
修改美化Matlab字體
MATLAB作為高校理工科類本科生或研究生必不可少的科研工具已經有著很多年的歷史,以至于在我們的大學生活里或科研工作中,MATLAB處處閃現著它的身影,給我們帶來了不少的幫助和便利。而隨著MATLAB新版本的逐步推進,目前其功能已經日趨完善。
但比較遺憾的是,經過這么多年的發展,MATLAB對中文的支持依然有著缺陷。當然,使用MATLAB的我們從來不必期待其幫助系統中文化,個中理由無需多言。可MATLAB對中文字體的支持就是一個問題,在MATLAB中我們經常可以看到如下圖所示的亂碼:
究其原因,無非是我們設置了MATLAB中編輯器Editor的字體為一款我們比較喜歡的英文字體(比如Courier New等),而MATLAB便無法顯示我們輸入的中文。可朋友們是否有印象,若在Visual Studio中,如果我們設置使用了英文字體,則中文從來不會顯示為亂碼,哪怕是顯示為比較丑陋的宋體。
話雖如此,難道我們就甘心終日對著MATLAB中丑陋的英文字體(字體設置為使用中文字體時,對應的英文字體通常較為丑陋)或者亂碼的中文(字體設置為使用心儀的英文字體時,中文就會顯示為亂碼)而學習或者研究嗎?當然不能!下面,月夜為朋友們分享一款自己基于華文細黑和Courier New兩款字體重新打包生成的名為MATLAB的新字體。該字體的英文和數字字符,以及部分標點符號使用Courier New的字庫,而除此之外的其他字體則全部使用了華文細黑的字庫。
當在MATLAB中設置使用了該字體之后,英文可以顯示為Courier New的字體效果,而中文則顯示為華文細黑的效果,從而再也不會看到MATLAB中的中文出現亂碼,從此就可以跟MATLAB中的中文字體亂碼說再見!使用該款字體之后的無中文亂碼的MATLAB編輯器Editor的界面如下圖所示:
該款由月夜打包名為MATLAB的字體的下載地址在這里
115網盤|SkyDrive網絡硬盤
下載后復制到Windows系統目錄下fonts文件夾中安裝,然后在MATLAB中通過File->Preferences打開Preferences對話框,然后在其中的Fonts->Custom下可以進行MATLAB字體的詳細設置,設置使用該款MATLAB字體即可。
如果你只是尋找一款字庫的話,讀到這里,下載完文件,安裝好就可以使用了。而如果你要自己打包制作自己的字庫,則請繼續往下閱讀,月夜為你簡單講述一下如何利用已有的字體打包字庫。
字庫打包制作方法
1.FontCreator
使用已有字體打包字庫需要使用一款軟件,該軟件名為FontCreator。你可以通過Google搜索其下載地址。需要說明的是,試用版無法保存創建的字庫。因此,要么你購買正版,要么需要想法下載到合適的版本。
而且,我們需要使用該軟件完成的任務十分簡單,所以完全不必使用其最新版。一款FontCreator V6.0軟件,已經足以完成我們的任務。
下載后的安裝,月夜此處也不贅言。因為許多版本是綠色版,而安裝版的安裝過程也沒有什么可資敘述的內容。
教程:百度文庫教程點擊查看
2.制作新的字庫
首先使用FontCreator軟件打開一款中文字體軟件,比如這里我們打開華文細黑,然后將其另存為我們想要的字體名字,比如MATLAB.TTF;
然后我們使用FontCreator軟件打開一款自己比較喜歡的英文字體軟件,比如這里我們打開Courier New,然后選中其中如下圖所示的部分:
即選中字體文件中從$0004到$0061的格子中的圖像,按Ctrl+C將其復制。
接著我們回到FontCreator中剛剛打開的中文字體文件中,選中與英文字體對應的這些從$0004到$0061的格子中的圖像,然后按Ctrl+V,將復制過來的英文字體粘貼到中文字體文件中。
最后我們將修改過的中文字體文件保存,即得到了自己想要的字體文件。
3.其他說明
需要說明的是,這樣只更改了文件名而重新保存的字體,其字體名稱并沒有變化,一旦安裝,系統中將出現兩款相同名稱(比如華文細黑)的字體。
而我們可以在打開該字體文件后,通過Format->Naming菜單,打開Naming對話框,從而在其中修改與字體標識相關的信息。
我們可以先在Platform中選擇對應的操作系統(比如Windows Unicode BMP),然后在Language中選擇中文或英文,并編輯對話框右側Naming中的標識信息,最后將字體重新進行保存,即可使得我們重新打包的字庫在操作系統中具有自己獨特的名字。
轉自:http://www.yueye.org/2011/beautify-matlab-font-settings.html
總結
以上是生活随笔為你收集整理的修改美化Matlab字体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flatbuffer介绍和用法
- 下一篇: C/C++ 编程中的内存屏障(Memo