[英]ImageMagick unicode font installation on linux not working
我在CentOS linux服務器上安裝了ImageMagick。
我試圖讓ImageMagick將Unicode(非羅馬)字體轉換為圖像。 我可以使用基於羅馬/拉丁語的字體來做到這一點,但不能使用非拉丁語(如中文)。
編輯*當我嘗試轉換非拉丁字體時,它們顯示為垃圾,例如%$ ?? W * ??
我在系統上安裝了unicode字體,並更新了ImageMagick的type.xml文件以反映這一點(我也更新了我的locate db)。
當我運行時(在我的shell中):#identify -list類型
我可以看到我的字體已安裝並且ImageMagick可以看到它們,但是當我運行文本到圖像的轉換php腳本時,它們(非拉丁字體)仍然不起作用
我已經查看了與此相關的另一篇文章: 使ImageMagick識別字體
但是在那里做完所有事情后,我仍然遇到同樣的問題。 請幫忙。
謝謝。
編輯:這是與imagemagick初始化有關的一些代碼:
$font = 'UNICODE.TTF';
/* Create imagickdraw object */
$draw = new ImagickDraw();
$draw->setFont($font);
$draw->setStrokeAntialias(true);
$draw->setTextAntialias(true);
$draw->setFontSize(100);
$draw->setTextEncoding("UTF-8");
//and than there is a bunch of code I use to manipulate the image shadow etc.
更新自通過這篇文章的評論獲得幫助后,我了解到:
該ImageMagick能夠轉換unicode非拉丁字符。這是通過將一個希伯來語單詞通過linux命令行傳遞給ImageMagick來測試的。
因此,問題在於ImageMagick PHP模塊具有解釋Unicode非拉丁文本的能力。
php文件本身具有支持UTF-8的所有必需元素,實際上確實創建了一個文件名,該文件名源自我要傳遞給ImageMagick進行圖像創建的同一個文本變量。 該文件名已通過php以非拉丁語unicode文本成功保存在我的服務器上。
當使用ImageMagick PHP模塊從Unicode非拉丁字體的文本創建圖像並進行圖像處理時,我在網上環顧四周,找不到任何有關此問題的信息。
這可能是ImageMagick錯誤嗎? 任何幫助,將不勝感激。 謝謝。
這個問題的解決方案是在我的PHP中稍后出現的編碼問題中找到的。 基本上,我將字符串拆分為單獨的字符,並且需要這樣做,並且不會破壞2字節的unicode字符。
我不希望向試圖幫助我解決此問題的人們展示我的其余代碼,這對我來說是一個大錯誤。 學過的知識。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.