matlab eps 字体用AI打开乱码的解决

(1)投IEEE文章的同学可以看看

Font Helvetica is not embedded,一个字体问题花费了我两三个小时,解决方法记录一下,方便后续自己查看,也方便出现同样问题的同学少走弯路。

IEEE要求所有投稿的PDF文档要通过IEEE PDF eXpress service检查,而这个系统要求嵌入所有的字体才可以提交。

我的文档有一个Helvetica字体没有嵌入,一开始以为是字体没有安装的原因,于是下载了全套的Helvetica字体装上,结果发现还是不行,在网上找了蛮久,最后发现这些Helvetica字体全都来自matlab保存的eps图片中,于是用Notepad++打开eps文件,并把其中的Helvetica全部替换成为Arial,再次生成PDF文件,发现所有的字体都能够embedded了,通过了检查。

http://blog.csdn.net/u013829933/article/details/51763811

(2)matlab论坛版主 math

在你导出的图片里面,不要使用legend,或者坐标轴坐标。

在latex文件里:

\begin{figure}[bt]
  \centering
  \begin{overpic}[width=3.35in]{image path}
  \put(9,30){\rotatebox{-45}{\footnotesize{anything}}}
  \put(50,24){\rotatebox{23}{\footnotesize{anything}}}
  \put(14,70){\footnotesize{anything}}
  \put(13,62){\footnotesize{anything}}
  \put(34,56){\rotatebox{22}{\footnotesize{anything}}}
  \put(50,10){\rotatebox{22}{\footnotesize{anything}}}
   \end{overpic}
\caption[]{\emph{figure caption here}}
\label{fig_label}
\end{figure}

http://www.ilovematlab.cn/thread-215995-1-1.html

(3)

Matlab画的eps图片中的Helvetica字体不能嵌入问题的解决办法

在IEEE论文(包括部分会上传到IEEE Xplore的会议论文)投稿时,要求将论文上传到IEEE PDF Express中进行验证,验证文章是否符合IEEE的相关规定。当时出现的错误是:

Font Time-Roman is not embedded (47x)

Font Helvetica is not embedded (4x)

我当时的论文是latex生成的,按理不会产生这类问题。后来查到原因是因为我所用的图片是matlab直接导出的eps格式的图形。

通过网上查找,找到了如下一种解决方法:解决Matlab图片导出为eps格式的字体嵌入问题

但是,该方法略显复杂。我采用的方法是:

通过matlab做好图形后,通过点击图形界面的edit->copy figure,然后将该图形贴到visio中,再将其打印成pdf格式,最后再通过Adobe Acrobat将其转换为eps格式,这样出来的图形就不会有这个问题了,并且新的文档也能通过IEEE PDF Express的验证。

(4)http://www.ilovematlab.cn/thread-14152-1-1.html

多谢math帮助,我是这么解决的(不用修改fig文件的字体就可以在pdf里将所有字体embeded):

其实很简单,先生成ps文件,然后在命令行输入:

gswin32c -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dCOMPatibilityLevel=1.4 -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=yourfile.pdf yourfile.ps

生成的pdf文件就全部都能embed了,哈哈

原贴如下:
http://alephnk.spaces.live.com/Blog/cns!29897E24580CA11!556.entry

Latex文件转成pdf后的字体嵌入问题的解决
    一般情况下,字体都是能够嵌入的。但是如果论文里边用了matlab生成的eps图,则有问题了。一般matlab默认的字体是Helvetica,这个一般的windows系统上是没有这个字体的,而eps文件是ascii文件,对于字体,里边只是给出字体的名称。这样就导致转换成pdf的时候没有办法嵌入该字体,往往导致ieee eXplore检验不合格。

只能硬改了,将eps文件中的
    %%IncludeResource: font Helvetica
    /Helvetica /WindowsLatin1Encoding 120 FMSR

第二行改为
    /ArialMT /WindowsLatin1Encoding 120 FMSR

ArialMT是系统上有的字体。而且改了之后,重新对tex文件用latex命令转换成dvi,再用dvi2pdf命令转换成pdf,则字体都能够嵌入了。
    有的论文中贴的不是eps图片而是emf图片,这个格式可能不涉及字体的问题,emf文件不是ascii文件而是二进制文件,估计字体都融合到文件里边了,emf文件本身就比eps的要大很多。

// 昨天跟人讨论,有一个方法,也可以在dvi2pdf无法嵌入的时候用。就是生成pdf之后,再用adobe acrobat打开,然后重新打印成pdf,在这个时候选择一下要嵌入的字体。

再附:
先由dvi生成ps文件,然后在命令行下用gswin32c命令来生成pdf文件,效果更好:

gswin32c -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite
-dPDFSETTINGS=/printer -dCOMPatibilityLevel=1.4
-dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true
-sOutputFile=youfile.pdf yourfile.ps

该命令跟了一大堆参数,直接拷贝到命令行窗口即可。这种做法的好处是什么字体都嵌入了,包括Helvetica(URW捐给GS的Helvetica)、Times-Roman等等。【水木社区tex版的snoopyzhao提供】

另外,http://www.grassbook.org/neteler/highres_pdf.html 也提供了解决该问题的做法,可做参考【水木社区tex版hashhsah提供】,或者在matlab中用octave画图,该命令调用gnuplot【水木社区tex版的realwhz提供】

https://www.zhihu.com/question/28898001/answer/42514933

作者:匿名用户
链接:https://www.zhihu.com/question/28898001/answer/42529143
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

这个属于MATLAB自身的问题,就是它在生成EPS、PDF等矢量图时没有嵌入所需的字体,因此包括CJK文字在内的许多符号都成了乱码,仅靠MATLAB自身是无法解决的,必须借助第三方工具:

  1. Foxit Reader:装Foxit Reader,免费版即可,在MATLAB figure窗口中选择打印,然后用Foxit Reader打印到文件,即可得到完整字体嵌入的PDF文件,美中不足是生成的PDF文件尺寸无法自适应figure的尺寸,结果往往是一整张PDF只有中间一小块是图像,四周一大片空白
  2. matlab2tikz:nschloe/matlab2tikz · GitHub,将MATLAB figure转为TikZ (Pgfplots)指令文件,转换后之后在LaTeX里边直接input就行
  3. export_fig:altmany/export_fig · GitHub,第三方做的图像导出工具,可以导出EPS、PDF并嵌入字体
  4. overpic或tikz:在MATLAB figure中不要添加任何非ASCII字符(可以用空格做占位符留出足够空白),将图片保存为EPS,然后在LaTeX中导入图片,用overpic或tikz宏包往上加汉字
时间: 2024-10-11 12:43:03

matlab eps 字体用AI打开乱码的解决的相关文章

记事本输入“联通”俩字,关闭再打开乱码

记事本输入"联通"俩字,关闭再打开乱码 这是个很有意思的事情. 这里需要提一下ANSI,不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准.然后,这些编码方式没有固定的格式,但是比如说UTF-8的格式是非常明显的,比如最高位是0,110,1110等等. 在记事本保存操作中,windows默认保存的编码是ANSI(在中国是GB2312). 这样联通这两个字的二进制内码是:(一个字占两个字节) "联"ANSI编码是  0x

Sublime Text 3打开txt中文乱码的解决方法

Sublime Text是一个非常强大的编辑器,可是对中文的支持并不好,在Sublime Text 2 时,可以通过命令行的方式安装编码包来解决,但Sublime Text 3不能通过这样的方式解决 在安装完Sublime Text 3后要下载一个ConvertToUTF8包放到C:\Users\用户名\AppData\Roaming\Sublime Text 3\Packages(安装目录可能不是这个,但可以在sublime中preference - browse packages打开此目录)

ubuntu 中用vim打开txt等文件中文显示乱码的解决方法  

今晚用ubuntu 12.04 的vim编辑网页代码时,发现上面的中文显示乱码.这个html文件是我之前用gedit编辑的,在gedit里面显示正常,可是在vim下显示就是乱码了. 怎么解决ubuntu中vim显示中文乱码的问题呢? 首先,添加中文字符编码: sudo gedit /var/lib/locales/supported.d/local 在打开的文件中添加下面的中文字符集 zh_CN.GBK GBK zh_CN.GB2312 GB2312 zh_CN.GB18030 GB18030

offices文件打开乱码问题如何处理

随着各种ERP系统的使用,各种企业报表,文件,数据的导出,难免会遇到文件编码不兼容的问题,打开的文件全部是乱码,怎么处理? 今天在工作中碰到一例从国税系统导出来的数据,全部是乱码,2个用户,在另一个用户的计算机上没啥问题,在第二个用户计算机上就会存在乱码.很诧异...... 诧异归诧异,其实解决还是蛮简单的.了解offices的简单运行原理即可轻松解决: 以.csv文件为例(csv经常会遇到这种问题) (1)首先,用notepad记事本把.csv文件打开,然后选择 另存为... (2) 将编码格

matlab eps

matlab eps eps是一个函数.当没有参数时默认参数是1.返回的是该参数的精度. 也就是说单个的eps实际上是eps(1),表示的是1的精度. 这里要说一下精度的概念.浮点数所能表示的数值范围是很大的,但是浮点数不是无限 的,连续的和稠密的:而是有限的,离散的和稀疏的,而且每个数的精度都不一样.越 是靠近0,精度越高,反之则越低.eps返回的是1的精度.指的是1和离他最近的浮点数 之间的距离.  我们输入eps可以看到1的精度.  也就是说离他最近的浮点数和他相差eps(1).我们可以计

解决:记事本打开无乱码而用UE打开乱码现象

原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/44157925 今天在win7下查看一个系统日志文件时,出现一个奇怪的现象,记事本打开无乱码而用UE打开乱码现象,后来才发现原来这是编码的问题. 乱码现象,如下图: 用记事本打开则正常,如下图: 但是用记事本打开不便于查看和编辑,于是发现可以通过两种方法解决. 解决:用记事

phpexcel导出文件后,wps能用 excel打开乱码解决

导出excel后wps能用 excel打开乱码,是因为导出的类使用方式问题 把$objWriter = new \PHPExcel_Writer_Excel2007($this->_obj); 换成$objWriter = \PHPExcel_IOFactory::createWriter($this->_obj, 'Excel5');  就能解决问题 public function output($file_name){ //直接输出到浏览器 header("Pragma: pub

zabbix2.2.3中乱码的解决方法

当将zabbix2.2.3中的语言改为中文后图形后显示如下 解决方法: 1.查看zabbix的字体文件 [[email protected] ~]# cd /usr/share/zabbix/fonts/[[email protected] fonts]# lsgraphfont.ttf 2.将windows系统中你想用的字体文件复制到linux系统中,然后再将字体文件复制到zabbix字体所在的目录中 [[email protected] ~]# cp STXIHEI.TTF /usr/sha

Loadrunner乱码的解决办法

乱码出现的步骤 1.录制过程产生的乱码 2.运行过程编码不一致 录制的时候本机默认编码:GB2312,GBK,GB18030,而录制的网页有可能是uft-8编码 GB pk UTF-8 GB-X:2byte=16bit  2^16,65536种组合  0000 0000 0000 0000 ~ 1111 1111 1111 1111 UTF-8:3byte=24bit,2^24,16777216种组合,对全世界的文件进行统一编码,所以需要3个字节 0000 0000 0000 0000 0000