我想以ASCII和埃塞俄比亚/阿姆哈拉语脚本呈现文本(但最好支持各种语言的字符)。
诺托字体安装在使用sudo apt install fonts-noto-core
的Ubuntu系统上
如何在使用GDLib打印埃塞俄比亚文时输出混合语言/支持ASCII的文本?这可能吗?
在系统iself上,例如在gedit中,它可以正确显示,字体回退似乎也可以工作。
另一个选择是将所有的字形合并到一个TTF中?这对GDlib可能吗?
我的测试代码看起来像这样:
<?php
$image = imagecreatetruecolor(200,50);
$font = 'DejaVuSans';
imagettftext($image, 10, 0, 0, 20, imagecolorallocate($image,255,0,0), '/usr/share/fonts/truetype/noto/NotoSans-Bold.ttf', "NotoSans-Bold A € ኤ" );
imagettftext($image, 10, 0, 0, 40, imagecolorallocate($image,255,0,0), '/usr/share/fonts/truetype/noto/NotoSansEthiopic-Bold.ttf', "NotoSans-Ethiopic A € ኤ" );
header('Content-Type: image/png');
echo imagepng($image);
并产生
我在PHP8.1上使用以下gd_info()
:
array(15) {
["GD Version"]=>
string(5) "2.3.3"
["FreeType Support"]=>
bool(true)
["FreeType Linkage"]=>
string(13) "with freetype"
["GIF Read Support"]=>
bool(true)
["GIF Create Support"]=>
bool(true)
["JPEG Support"]=>
bool(true)
["PNG Support"]=>
bool(true)
["WBMP Support"]=>
bool(true)
["XPM Support"]=>
bool(true)
["XBM Support"]=>
bool(true)
["WebP Support"]=>
bool(true)
["BMP Support"]=>
bool(true)
["AVIF Support"]=>
bool(true)
["TGA Read Support"]=>
bool(true)
["JIS-mapped Japanese Font Support"]=>
bool(false)
}
1条答案
按热度按时间wa7juj8i1#
作为一种变通方法,我自己合并了字体,如by satish所述。
使用此字体列表
那就执行
在GDlib中使用此字体可以工作。