我想在MATLAB图中使用一些特殊字符。在使用字体之前,我的程序如何确保字体可用?
listfonts()不可靠。它声称“Zapf Dingbats”在我的机器上可用,但它不是(和text()渲染使用默认字体)。 listfonts()始终包含标准的PostScript字体。我想这是因为它们总是可用于PostScript输出,但我对显示的数字感兴趣。同样uisetfont()和MATLAB - >偏好 - >字体 - >自定义列表“Zapf Dingbats”,但使用默认字体渲染样本。
仅查找字体文件也不起作用。例如,“Webdings”在我的主机上运行良好。但是,在第二台机器上安装了“Webdings”(文件/Library/Fonts/Webdings.ttf,Word可以使用它),但是MATLAB替换了默认字体。
我想到了一个测试:使用一个标记符号创建一个小图,使用print()将其写入.png文件,将该文件作为数据读入,计算哈希值,并将该哈希值与存储值进行比较。有一种不那么笨拙的方法吗?
我找到了我需要的大多数符号的Unicode等价物,这对我的两台测试机都有效。但是,它们显然依赖于我安装了正确的字体。例如,正方形有许多Unicode版本。十六进制代码2588,25a0和25fc在这里工作,但25fe,2b1b和2bc0呈现为空白。有没有办法判断这些字符是否可用?
我在macOS版本10.13.5下运行R2017b,“set | grep LANG”显示“LANG = en_US.UTF-8”。