我正在尝试将日文文字打印到图像上 我的代码:
$text = // some japanese text
$imagick = new IMagick();
// $imagick implementation
$imagickDraw = new ImagickDraw();
$imagickDraw->setFontSize(12);
$textFontMetrics = $imagick->queryFontMetrics($imagickDraw, $text);
$imagick->annotateImage($imagickDraw, ($imageWidth - $textFontMetrics['textWidth']) / 2, $imageHeight * 0.5, 0, $text);
// save imageBlob
当我检查生成的图像时,我只看到“??”而不是普通的日文文本。任何想法如何解决这个问题?
答案 0 :(得分:2)
很确定这是与字体相关的问题。确保您的字体能够显示日文字符,将该字体复制到脚本的目录中,并添加以下内容:
$draw->setFont('fonts-japanese-gothic.ttf');
其中fonts-japanese-gothic.ttf
是您字体的名称。我在我的本地机器上进行了测试,结果就是这样。