Metapost畫圖添加中文字體問題

最近一直在弄論文裏面的插圖,而且在實驗室例會上作了一個用Metapost畫圖的經驗報告,結果讓實驗室的某些同窗抓住要求幫忙作某個很水的課的beamer答辯插圖,昨天晚上有空準備就地解決,結果卻碰了一鼻子灰,太他媽蛋疼了,和latex對中文的支持同樣,metapost對中文的支持簡直到了沒法忍受的地步,因此,一夜我果斷沒搞定那幾張插圖,整個晚上盡在查資料,幸虧今天週末,因此有時間繼續搞定這個問題,不過幸虧如今基本搞定了,想一想大週末的,我也算是蠻拼的,下面介紹具體的解決方案。windows

    在網上查了很多資料,看了王垠的主頁,也看了唐老師的學習資料,到此爲止我能解決的問題是編譯能經過了,其實很簡單,就是用label的時候使用命令行指定使用的tex引擎就好了,具體命令以下:框架

mpost -tex=latex yourfile.mpide

編譯經過後能生成eps文件,可是打開發現中文是亂碼,因爲我使用的是GSview預覽的,最後發現是GS缺乏中文字體的問題,因而我就準備本身安裝中文字體,就在此時,我看到了另外一個說法,只須要在安裝CTEX的時候手動設置一下字體就好了,具體的很少說了,直接上圖
post

wKiom1RUmlijeinYAAC4ZDD0__4472.jpg

    這裏說明一句,若是你的CTEX文件夾沒有圖上這麼多子文件夾,尤爲是沒有FontSetup,極可能你安裝的不是full版本,因此在此建議你們直接選擇full版本的ctex,也就1.3G左右,避免後續的不少麻煩,運行FontSetup,就能看到這樣的界面學習

wKiom1RUmxfDCxY0AAGEEj0uKac394.jpg

而後選擇生成Type1字庫和使用Type1字庫,點擊安裝就能夠了,只不過這裏的等待時間稍微有點長,不過不要緊,能解決問題就好了。
字體

    插一段話,介紹的是這兩種字體的區別,Type 1字體是Adobe公司隨着頁面描述語言PostScript一塊兒推出的。頁面描述語言對圖形描述的一大特色是不採用設備像素進行,而是抽取圖形實體描述。所以,這種描述方法經濟而有效,而且和設備無關。PostScript語言把文字也當作爲圖形,可對它施加任何類型的圖形操做,從而可以產生高質量的、既符合使用要求又豐富多彩的文字輸出。
  PostScript語言的字體結構在LEVEL1時推出2種格式,分別是Type1和Type3。Type3是用戶自定義字體。二者具備類似的結構,均是一段PS程序。但仍是有區別的,Type3字體給出僅僅是一個框架,不包括數據和字體技術;Type1字體包含了一套完整的字體技術,包括字形設計、數據加密等。
  Type1字形設計,一、比劃:在任何Type1字體程序中,字符描述老是核心部分。每一個字符形狀都由一系列PS程序語句描述路徑組成。字符主要垂直比劃一般被看作是垂直筆段,主要水平比劃被看作水平筆段,筆段能直能彎。二、寬度方向的尺寸參數:西文字符控制比中文字符更加困難,由於不像中文字體框框結構,西文每一個字符高度和寬度可能都不相同。西文字符寬度方向上參數有字符原點、字符寬度、左邊界和左邊界點。三、高度方向的尺寸參數有基線、基線越界位置、頂高、頂高越界位置、X-高度、X-高度越界位置。
  TrueType字體是繼Adobe Type 1後又一種典型的曲線字體描述方法,是由Apple和Microsoft公司於1991年聯手推出。TrueType字體技術是TrueImage頁面描述語言中的字形描述部分。TrueType字體因爲沒有什麼特點,因此並未流行,但TrueType字體是windows系統一級使用的字體,於是開始受到愈來愈多人的關注。加密

    好吧,科普類的東西就介紹到這裏吧,接着講正題,直接上代碼吧,我寫了一個test.mp,代碼以下:
spa

prologues:=3;命令行

filenametemplate "%j-%c.eps";設計

verbatimtex

%&latex

\documentclass{article}

\usepackage{CJK}

\begin{CJK*}{GBK}{kai}

\begin{document}

etex

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

beginfig(0)

label.lft(btex 我就是要用中文 etex,(0,0));

endfig

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

verbatimtex

\end{CJK*}

\end{document}

etex

end

    命令行運行mpost -tex=latex test.mp,因而我就獲得了一個test-0.eps,用GSView打開是這樣的

wKioL1RUnWrSNkJaAADZ6cb3I0U421.jpg

    而後我選擇用acrobat X pro把它轉成PDF,方便查看,結果相似

wKiom1RUnZaQN1koAAHgqrwTAqk122.jpg

    好啦,就寫到這裏吧,我把代碼傳個附件吧,方便你們查看,也方便本身之後翻出來看,各位看官,再見,我吃飯去啦!

    尼瑪不上上傳mp文件,只好打包了

相關文章
相關標籤/搜索