我设法从OTF文件中获取cmap
,如下所示:
object(SimpleXMLElement)#4 (3) {
["tableVersion"]=>
object(SimpleXMLElement)#5 (1) {
["@attributes"]=>
array(1) {
["version"]=>
string(1) "0"
}
}
["cmap_format_4"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#6 (3) {
["@attributes"]=>
array(3) {
["platformID"]=>
string(1) "0"
["platEncID"]=>
string(1) "3"
["language"]=>
string(1) "0"
}
["map"]=>
array(222) {
[0]=>
object(SimpleXMLElement)#9 (1) {
["@attributes"]=>
array(2) {
["code"]=>
string(4) "0x20"
["name"]=>
string(5) "space"
}
}
[1]=>
object(SimpleXMLElement)#11 (1) {
["@attributes"]=>
array(2) {
["code"]=>
string(4) "0x21"
["name"]=>
string(6) "exclam"
}
现在,我需要使用PHP GD或任何其他方式生成角色地图。不过,PHP GD更受青睐。如何将格式为0x21的字母转换为看起来像字母的字母?
答案 0 :(得分:0)
最简单的方法是使用字体定义将字符绘制到图像上。
查看imagettftext()的定义 - 尝试从字形轮廓中自行执行渲染是不可取的。
答案 1 :(得分:0)
OTF字体的CFF表包含整个字形图像/程序。您可以将它们绘制为几何对象。它不可能通过php api绘制字形的整个集合,因为php api使用ENCODING参数来调用字形,而不是字形的INDEX或NAME。