PHP.mk документација

ps_findfont

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.ps-findfont.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.ps-findfont.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
ps_findfont

Референца за `function.ps-findfont.php` со подобрена типографија и навигација.

function.ps-findfont.php

ps_findfont

(PECL ps >= 1.1.0)

ps_findfontВчитува фонт

= NULL

ps_findfont(
         resource $psdoc,
         string $fontname,
         string $encoding,
         bool $embed = false
): int

Вчитува фонт за подоцнежна употреба. Пред да се прикаже текст со вчитан фонт, тој мора да се постави со ps_setfont(). Оваа функција ја бара датотеката со метрики на фонтот на Adobe за да го пресмета просторот што го зафаќаат знаците. Фонтот што се вчитува во рамките на страницата ќе биде достапен само на таа страница. Фонтовите што треба да се користат во целиот документ мора да се вчитаат пред првиот повик на ps_begin_page(). Повикување ps_findfont() помеѓу страниците ќе го направи тој фонт достапен за сите следни страници.

Името на afm датотеката мора да биде fontname.afm. Ако фонтот треба да се вгради, датотеката fontname.pfb што ги содржи контурите на фонтот, исто така мора да биде присутна.

Повикување ps_findfont() пред првата страница бара да се прикаже постскрипт заглавјето што го вклучува BoundingBox за целиот документ. Обично BoundingBox се поставува со првиот повик на ps_begin_page() што сега доаѓа по ps_findfont(). Следствено, BoundingBox не е поставен и ќе се издаде предупредување кога ps_findfont() се повикува. За да се спречи оваа ситуација, треба да се повика ps_set_parameter() за да се постави BoundingBox пред ps_findfont() се повикува.

Параметри

psdoc

и користење на шемата како боја за пополнување. ps_new().

fontname

Името на фонтот.

encoding

ps_findfont() ќе се обиде да ја вчита датотеката што е предадена во параметарот encoding. Датотеките за кодирање се со иста синтакса како оние што ги користи dvips(1). Тие содржат вектор за кодирање на фонтот (што моментално не се користи, но мора да биде присутен) и список на дополнителни лигатури за проширување на списокот на лигатури добиени од afm датотеката.

encoding може да биде null или празен стринг ако треба да се користи стандардното кодирање (TeXBase1).

Ако кодирањето е поставено на builtin тогаш нема да има повторно кодирање и ќе се користи специфичното кодирање на фонтот. Ова е многу корисно со симболични фонтови.

embed

If set to a value >0 the font will be embedded into the document. This requires the font outline (.pfb file) to be present.

Вратени вредности

Ако е поставено на вредност >0 фонтот ќе биде вграден во документот. Ова бара присуство на контурата на фонтот (.pfb датотека).

Види Исто така

  • ps_begin_page() - Започни нова страница
  • ps_setfont() - Поставува фонт за користење за следниот излез

Белешки од корисници 4 белешки

Враќа идентификатор на фонтот или нула во случај на грешка. Идентификаторот е позитивен број.
пред 18 години
I've found out that pslib is searching for fonts in its data dir (/usr/share/pslib). There is no way to change the search path now.
Враќа идентификатор на фонтот или нула во случај на грешка. Идентификаторот е позитивен број.
пред 17 години
Ok, now I found the way to set the path I need for fonts - before calling ps_findfont() make a call like this:
<?php ps_set_parameter($psdoc, 'SearchPath', $fonts_dir); ?>

It works for pslib 0.4.1 version. (Looks like it didn't work in some earlier versions.)
yarych на bigmir dot net
20 години пред
I found that my Postscript files were taking an incredibly long time to generate and the file sizes were abnormally large.  The problem was that, everytime I chose to set a font I would call ps_findfont() followed by ps_setfont().

It seems that every time ps_findfont() is called, the font gets embedded in the file.  To prevent this, I keep an array of fonts I've already loaded, keyed by the font name.  When I go to set the font, I first check this array to see if I've already loaded the font, and, if so, return the resource handle from that array.  Otherwise, I call ps_findfont() and store the handle in the array.

Note that, if your call to ps_findfont() occurs while inside a page, the font will not be available on other pages.  To get around this I just clear out the array at the end of each page.

My PS file went from 10 M to 75 K, and the time to create the file went from around 15 seconds to less than 1 second.
zeldorblat на gmail dot com
19 години пред
I found out that you must copy the <fontname>.afm files next to your php because it's searched there in default.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.