php и коллекция истинных типов в gd - PullRequest
6 голосов
/ 20 февраля 2009

Я пытаюсь использовать настоящую коллекцию типов "gulim.ttc" с 4 шрифтами в библиотеке GD.

Как это:

$font = "fonts/gulim.ttc";
imagettftext($im, 20, 0, 0, 25, $white, $font, $string);

Проблема в том, что PHP / GD использует только первый шрифт из ttc-файла, но мне нужен третий, называемый "Dotum".

Или есть способ извлечь или преобразовать ttc-файл в ttf-файл?

Ответы [ 3 ]

4 голосов
/ 22 февраля 2009

Вот несколько ссылок на программу, которая разбивает файлы TTC на TTF: ссылка

3 голосов
/ 04 августа 2010

Здесь есть несколько различных методов: https://superuser.com/questions/114603/how-to-install-os-x-ttc-font-on-windows-error-ttc-does-not-appear-to-be. И указатель на исходный код на C. Вот еще один: http://solaris.sunfish.suginami.tokyo.jp/tips/playground/truetype/ttc2ttf/ttc2ttf.cpp

Единственные примеры кодирования там, кажется, на японском языке ... имеет смысл, учитывая, что файлы TTC в значительной степени для азиатских языков. Во всяком случае, я нашел это также: http://hdmr.org/d/read.php/1172771146 (вероятно, нужен переводчик Google для этого).

2 голосов
/ 23 апреля 2010

Не уверен, что вы когда-нибудь что-то нашли, но у меня была та же проблема, и я нашел следующую ссылку для спасения жизни: она выделена курсивом, по центру, по правому краю, по левому краю и подчеркнута Единственное, чего не хватает, это жирного шрифта, который, во всяком случае, довольно прост.

PHP-imagestringright-центр-курсивный

С сайта: «Они даже работают со шрифтами, которые вы загружаете через ImageLoadFont, что довольно здорово! Вы даже можете вкладывать эффекты, например, для создания курсивных строк с выравниванием по правому краю с тенью!»

В каждой функции есть необязательный конечный параметр $ ImageString, который содержит строку, представляющую функцию, используемую для записи строки. Например, если мы хотим написать строку, выровненную по правому краю курсивом, мы можем использовать следующий код:

ImageStringRight($image, 5, 25, 'Right + Italic', $col, 5, 'ImageStringItalic');
...