- Работа со шрифтами TrueType и PostScript Type 1
- Читайте также
- Работа с фиксированными шрифтами
- Совместное использование PostScript-принтеров
- Совместное использование принтеров, не поддерживающих PostScript
- 9.6.5. PostScript и Ghostscript
- 18.2.1. Processor type and features
- 20.5.2.4. Processor type and features
- Работа со шрифтами
- 8.2.9. Учебный пример: PostScript
- 8.2.9. Учебный пример: PostScript
- Класс System.Type
- Манипулирование шрифтами
- 6.5. Работа со шрифтами
- Работа со шрифтами
- 2.1.8. Опция -type
- 24.1.4. Команда type
- 5.4. Работа со шрифтами
Работа со шрифтами TrueType и PostScript Type 1
Библиотека GD поддерживает также работу со шрифтами PostScript и TrueType. Для того чтобы заработали приведенные ниже функции, PHP должен быть откомпилирован и установлен вместе с библиотекой FreeType, доступной по адресу http://www.freetype.org. В Windows-версии PHP она установлена по умолчанию.
imageTTFText
Рисование текста шрифтом TrueType.
array imageTTFText(int im, int size, int angle, int x, int y, int color, string fontfile, string text)
Эта функция помещает строку text в изображение im цветом color. Как обычно, color должен представлять собой допустимый идентификатор цвета. Параметр angle задает угол наклона в градусах выводимой строки, отсчитываемой от горизонтали против часовой стрелки. Координаты (x, y) указывают положение так называемой базовой точки строки (обычно это ее левый нижний угол). Параметр size задает размер шрифта, который будет использоваться при выводе строки. fontfile должен содержать имя TTF-файла, в котором и храниться шрифт.
Функция возвращает список из 8 элементов. Первая их пара задает координаты (x,y) верхнего левого угла прямоугольника, описанного вокруг строки текста в изображении, вторая пара — координаты верхнего правого угла, и т.д. Так как в общем случае строка может иметь любой наклон angle, здесь требуются 4 пары координат.
Строка текста text может содержать символьные последовательности UTF-8 (в виде <) для вывода символов с кодами, большими 255.
При использовании отрицательного значения индекса цвета color отключается сглаживание шрифта (antialiasing).
Данная функция требует библиотеке GD и FreeType.
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
// Replace path by your own font path
imagettftext($im, 20, 0, 10, 20, $black, «/path/arial.ttf»,
Следующий пример выводит строку по центру рисунка
$w = imageSX($gi); // ширина рисунка
$h = imageSY($gi); // высота рисунка
$ang = 240; // угол поворота строки
$font = «symbol.ttf» // файл шрифта
imageTTFBBox
Расчет площади, занимаемой строкой шрифта TrueType.
array imageTTFBBox(int size, int angle, string fontfile, string text)
Эта функция ничего не выводит в изображение, а просто определяет, какой размер и положение заняла бы строка текста text размера size, выведенная под углом angle в какой-нибудь рисунок. Параметр fontfile задает абсолютный путь к файлу шрифта, который будет использован при выводе.
Возвращаемый список содержит всю информацию о размерах строки в формате, похожем на тот, что выдает функция imageTTFText(). Однако порядок точек в нем отличается.
Содержимое массива, возвращаемого функцией imageTTFBBox():
Координаты могут иметь отрицательные значения.
Функция требует библиотеки GD и FreeType.
imagePSLoadFont
Загрузка из файла шрифта PostScript Type 1.
int imagePSLoadFont(string filename)
Возвращает дескриптор загруженного шрифта или FALSE при ошибке (также выводится предупреждение).
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);
$font = imagepsloadfont(«bchbi.pfb»); // or locate your .pfb files on your machine
imagepstext($im, «Testing. It worked!», $font, 32, $white, $black, 32, 32);
imagejpeg($im, «», 100); //for best quality. your mileage may vary
Эта функция доступна только в том случае, если PHP был скомпилирован с опцией —enable-t1lib.
imagePSFreeFont
Выгрузка шрифта PostScript Type 1.
void imagePSFreeFont(int fontindex)
Данная функция освобождает память от шрифта, заданного параметром fontindex.
Эта функция доступна только в том случае, если PHP был скомпилирован с опцией —enable-t1lib.
imagePSEncodeFont
Установка схемы перекодировки текста.
int imagePSEncodeFont(int font_ndex, string encodingfile)
Загружает файл перекодировки encodingfile для шрифта font_index. Поскольку шрифты PostScript по умолчанию не используют символы с кодами, большими 127, перекодировка требуется при необходимости использования не английского языка. Формат файла описан в документации Tllibs, также с библиотекой поставляются 2 готовых файла: IsoLatinl.enc и IsoL.atin2.enc.
Если перекодировка используется постоянно, установите параметр ps.default_encoding в файле конфигурации со значением имени файла перекодировки, который будет загружаться автоматически.
Эта функция доступна только в том случае, если PHP был скомпилирован с опцией —enable-t1lib.
imagePsExtendFont
bool imagePsExtendFont (int font_index, float extend)
Функция производит растяжение или сжатие шрифта, заданного параметром font_index до размера, заданного параметром extend.
Если значение параметра extend меньше 1, то шрифт будет уменьшаться.
Эта функция доступна только в том случае, если PHP был скомпилирован с опцией —enable-t1lib.
imagePsSlantFont
bool imagePsSlantFont(int font_index, double slant)
Функция устанавливает наклон шрифта font_index в значение, заданное параметром slant.
Эта функция доступна только в том случае, если PHP был скомпилирован с опцией —enable-t1lib.
imagePSBBox
Расчет площади, занимаемой строкой шрифта PostScript Type 1.
array imagePSBBox( string text, int font, int size [, int space [, int tightness [, float angle]]])
Расчеты производятся на основании аргументов:
Значения space и tightness измеряются в долях пробела (1/1000).
Аргументы space, tightness, angle не обязательны.
Результаты расчета недостаточно точны. Функция возвращает массив:
Эта функция доступна только в том случае, если PHP был скомпилирован с опцией —enable-t1lib.
imagePSText
Вывод текста поверх рисунка шрифтом PostScript Type 1.
array imagePSText ( resource image, string text, int font, int size, int foreground, int background, int x, int y [, int space [, int tightness [, float angle [, int antialias_steps]]]])
Параметр size задает размер шрифта.
Координаты x, у указывают левый нижний угол первого символа.
Аргументами foreground и background задаются цвета текста и фона (фон необходим только для сглаживания шрифта).
Аргумент antialias_steps позволяет указать число цветов, используемых при сглаживании текста (допустимые значения 4 и 16). Для шрифтов размером меньше 20 используйте большее значение, так как это улучшает читабельность; для больших шрифтов используйте меньшее значение, так как это увеличивает быстродействие.
Параметр angle задает наклон текста в градусах.
Функция возвращает массив, подобно imagepsbbox().
Эта функция доступна только в том случае, если PHP был скомпилирован с опцией —enable-t1lib.
Читайте также
Работа с фиксированными шрифтами
Работа с фиксированными шрифтами Библиотека GD имеет некоторые возможности по работе с текстом и шрифтами. Шрифты представляют собой специальные ресурсы, имеющие собственный идентификатор, и чаще всего загружаемые из файла или встроенные в GD. Каждый символ шрифта может
Совместное использование PostScript-принтеров
Совместное использование PostScript-принтеров В ходе предыдущего обсуждения не затрагивался вопрос об использовании драйверов. Этот вопрос чрезвычайно важен для разделения принтеров в системе Samba; драйверы принтеров часто становятся источником проблем. В системе Windows
Совместное использование принтеров, не поддерживающих PostScript
Совместное использование принтеров, не поддерживающих PostScript Существуют два способа настройки Samba для работы с принтерами, не поддерживающими PostScript. Первый способ заключается в использовании PostScript-драйвера на клиентской машине и настройке очереди печати Linux для
9.6.5. PostScript и Ghostscript
9.6.5. PostScript и Ghostscript К сожалению пользователей, фирмы-производители принтеров долгое время не могли достигнуть согласия в вопросе о выборе управляющих сигналов для производимых ими устройств. В результате для каждого принтера до сих пор необходим особый драйвер. Однако со
18.2.1. Processor type and features
18.2.1. Processor type and features Здесь можно указать тип процессора и его функции, например, поддержка памяти более 1 Гб, MTRR, эмулирование математического сопроцессора. Рис. 18.3. Processor type and featuresОчень важно правильно указать тип процессора: после того, как я правильно указал тип своего
20.5.2.4. Processor type and features
20.5.2.4. Processor type and features Здесь можно указать тип процессора и его функции, например, поддержка памяти более 1 Гб, MTRR, эмулирование математического сопроцессора.Subarchitecture typeТип архитектуры процессора:? PC-compatible — PC-совместимый процессор, то есть процессор, использующий систему
Работа со шрифтами
Работа со шрифтами Рассмотрим подробнее, как можно видоизменять отображение шрифта с помощью не только тегов <B> и <I>, но и других.Для определения параметров шрифта, которым будет выводиться текст, служит парный тег <FONT>. Этот тег имеет дополнительные параметры, с
8.2.9. Учебный пример: PostScript
8.2.9. Учебный пример: PostScript PostScript — мини-язык, специализацией которого является описание форматированного текста и графики для графических устройств. Данный язык был импортирован в Unix. Он основывался на разработке легендарного центра «Xerox Palo Alto Research Center», созданной во
8.2.9. Учебный пример: PostScript
8.2.9. Учебный пример: PostScript PostScript — мини-язык, специализацией которого является описание форматированного текста и графики для графических устройств. Данный язык был импортирован в Unix. Он основывался на разработке легендарного центра «Xerox Palo Alto Research Center», созданной во
Класс System.Type
Класс System.Type Класс System.Type определяет ряд членов, которые могут использоваться для чтения метаданных типа, и многие из этих членов возвращают типы из пространства имен System.Reflection. Например, тип Type.GetMethods() возвращает массив типов MethodInfo, тип Type.GetFields() возвращает массив типа
Манипулирование шрифтами
Манипулирование шрифтами Теперь давайте выясним, как можно программно манипулировать шрифтами. Тип System.Drawing.Font представляет шрифт, установленный на машине пользователя, Типы шрифта могут определяться с помощью любого числа перегруженных конструкторов. Вот вам
6.5. Работа со шрифтами
6.5. Работа со шрифтами Приложение может использовать четыре различных вида технологий шрифта для отображения и печати текста:• растровые;• векторные;• TrueType;• ОрепТуре.Отличие между данными видами шрифтов заключается в способе хранения параметров начертания символов
Работа со шрифтами
Работа со шрифтами Для стандартных операций встроенного компонента операционной системы, служащего для установки и удаления шрифтов, вполне достаточно. Для профессиональной работы со шрифтами необходимы более функциональные инструменты с расширенными
2.1.8. Опция -type
2.1.8. Опция -type Операционные системы UNIX и Linux поддерживают различные типы файлов (см. главу 1). Поиск файлов нужного типа осуществляется посредством команды, find с опцией -type. Например, для нахождения всех подкаталогов в каталоге /etc воспользуйтесь такой командой:$ find /etc -type d
24.1.4. Команда type
24.1.4. Команда type Команда type позволяет выяснить, содержится ли некоторая команда в системе, и определить тип данной команды. Команда type также сообщает, является ли название команды действительным и где именно в системе находится эта команда. Ниже приводятся примеры
5.4. Работа со шрифтами
5.4. Работа со шрифтами Обычно весь текст сначала набирается стандартным шрифтом, а затем форматируется шрифт документа. Различные виды шрифтов имеют различное начертание и назначение. Шрифт характеризуется рядом параметров, важнейший из которых – рисунок