Таблица шрифтов OTF, TTF cmap - PullRequest
1 голос
/ 15 марта 2011

Мне удалось получить cmap из файла OTF, который выглядит так:

object(SimpleXMLElement)#4 (3) {
  ["tableVersion"]=>
  object(SimpleXMLElement)#5 (1) {
    ["@attributes"]=>
    array(1) {
      ["version"]=>
      string(1) "0"
    }
  }
  ["cmap_format_4"]=>
  array(2) {
    [0]=>
    object(SimpleXMLElement)#6 (3) {
      ["@attributes"]=>
      array(3) {
        ["platformID"]=>
        string(1) "0"
        ["platEncID"]=>
        string(1) "3"
        ["language"]=>
        string(1) "0"
      }
      ["map"]=>
      array(222) {
        [0]=>
        object(SimpleXMLElement)#9 (1) {
          ["@attributes"]=>
          array(2) {
            ["code"]=>
            string(4) "0x20"
            ["name"]=>
            string(5) "space"
          }
        }
        [1]=>
        object(SimpleXMLElement)#11 (1) {
          ["@attributes"]=>
          array(2) {
            ["code"]=>
            string(4) "0x21"
            ["name"]=>
            string(6) "exclam"
          }

Теперь мне нужно сгенерировать карту символов, используя PHP GD или любым другим способом. PHP GD предпочтительнее, хотя. Как преобразовать букву в формате 0x21 во что-то похожее на букву?

Ответы [ 2 ]

0 голосов
/ 15 августа 2012

CFF таблица шрифта OTF состоит из целых изображений / программ глифов.Вы можете нарисовать их как объекты геометрии.Невозможно нарисовать всю коллекцию глифа с помощью php api, потому что php api использует параметр ENCODING для вызова глифа, но не INDEX или NAME глифа.

0 голосов
/ 15 марта 2011

Самый простой способ - просто нарисовать символы на изображении, используя определение шрифта.

Посмотрите определение imagettftext () - попытайтесь выполнить рендеринг самостоятельноиз контуров глифов не рекомендуется.

...