PHP GD 无法正确渲染 unicode 字体

发布于 2024-08-21 15:05:57 字数 85 浏览 2 评论 0原文

我在使用 PHP GD 库渲染 unicode 字形(语言:马拉雅拉姆语、泰米尔语和印地语)时遇到问题。这和GD库的渲染引擎有关吗?有什么可用的解决方法吗?

I am having problems in rendering unicode glyphs ( language : Malayalam, Tamil and Hindi) with PHP GD library. Is this something related to the rendering engine of GD library? Any workarounds available ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

那伤。 2024-08-28 15:05:57

首先确保您的字体包含所需的字形(系统字体,如 Arial 应该)。然后,如果需要,请确保使用 utf8_decode() 将参数转换为 unicode。

First make sure your fonts contain the desired glyphs (system fonts such as Arial should). Then make sure you convert your parameters to unicode using utf8_decode() if neccessary.

猛虎独行 2024-08-28 15:05:57

我发现一个尝试这个

<?php
//error_reporting(0);
$text = ("Unreadable text");
$font = "mangal.ttf";
$fontSize = "10";
$width = '600';
    $s = new CairoImageSurface(CairoFormat::ARGB32, $width, 21);
    $c = new CairoContext($s);

    /* Set the background*/
    $c->setSourceRGB(.1,149,.58);
    $c->paint();

    $c->setSourceRGB(.1,.1,.1);

    /* Make a Pango layout, set the font, then set the layout size */
    $l = new PangoLayout($c);
    $desc = new PangoFontDescription("mangal normal $fontSize");
    $l->setFontDescription($desc);

    /* Here, we use Pango markup to make part of the text bold */
    $l->setText($text);

    /* Draw the layout on the surface */
    $l->showLayout($c);
    $s->writeToPng("unicode.png");
    echo $img = "<img src=\"unicode.png\">";        
?> 

i have found one try this

<?php
//error_reporting(0);
$text = ("Unreadable text");
$font = "mangal.ttf";
$fontSize = "10";
$width = '600';
    $s = new CairoImageSurface(CairoFormat::ARGB32, $width, 21);
    $c = new CairoContext($s);

    /* Set the background*/
    $c->setSourceRGB(.1,149,.58);
    $c->paint();

    $c->setSourceRGB(.1,.1,.1);

    /* Make a Pango layout, set the font, then set the layout size */
    $l = new PangoLayout($c);
    $desc = new PangoFontDescription("mangal normal $fontSize");
    $l->setFontDescription($desc);

    /* Here, we use Pango markup to make part of the text bold */
    $l->setText($text);

    /* Draw the layout on the surface */
    $l->showLayout($c);
    $s->writeToPng("unicode.png");
    echo $img = "<img src=\"unicode.png\">";        
?> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文