在MATLAB中,是否可以打印Unicode文本或字符?

9

在子图中的图片标题中,是否可以打印出一些像“ح”(U+062D)这样的字符?

2个回答

9

根据Yair Altmanundocumentedmatlab.com上的描述,您可以使用一些Java向绘图添加具有HTML感知能力的标签。因此,您可以使用&#xHEXCODE;语法将Unicode字符'ح'(U+062D)放入此类标签中,在您的情况下为ح

figure;
labelStr = '<html>&#x062D;</html>';
jLabel = javaObjectEDT('javax.swing.JLabel',labelStr);
[hcomponent,hcontainer] = javacomponent(jLabel,[100,100,40,20],gcf);

这应该显示一个空的图像窗口,其中仅包含该单个Unicode字符。在WinXP上使用Matlab R2010b进行测试。

有关欺骗MATLAB以显示Unicode的更多信息,请参见此SO帖子,其中某些部分可能特定于OS X。

请注意,一些不在您当前字符集中可用的字符可以通过MATLAB的本机LaTex功能title()作为在这里讨论; 但是,这远远不能涵盖所有Unicode。


-1

1
你链接的SO帖子包含评论:“尽管问题仍未解决,但我接受了这个答案”和“据我所知,MATLAB对Unicode有严重的过敏反应”。你链接的这两个函数是关于修改内存中Unicode文本表示方式的,而不是关于显示的。 - Jonas Heidelberg
那个问题的原帖发布者能够在编辑器上打印Unicode字符,但是重新启动Matlab后,出现了奇怪的字符。在你的情况下,一旦你得到了图像输出,你可以将图像保存为jpg或其他格式,然后就不用担心这个了吧。 - A. K.
他能够在编辑器中输入Unicode(因此用于MATLAB编辑器的编辑控件可以处理它);但是一旦他保存源文件,该符号就直接被问号替换了。那个问题与数字或绘图无关,因此对于这里的问题来说相当无用,除了表明MATLAB还没有准备好使用Unicode。 - Jonas Heidelberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接