Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : PostScript document creation : ps_findfont

ps_findfont

Loads a font (PECL ps:1.1.0-1.3.5)
int ps_findfont ( resource psdoc, string fontname, string encoding [, bool embed] )


Code Examples / Notes » ps_findfont

zeldorblat

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.


pepe

I found out that you must copy the <fontname>.afm files next to your php because it's searched there in default.

Change Language


Follow Navioo On Twitter
ps_add_bookmark
ps_add_launchlink
ps_add_locallink
ps_add_note
ps_add_pdflink
ps_add_weblink
ps_arc
ps_arcn
ps_begin_page
ps_begin_pattern
ps_begin_template
ps_circle
ps_clip
ps_close_image
ps_close
ps_closepath_stroke
ps_closepath
ps_continue_text
ps_curveto
ps_delete
ps_end_page
ps_end_pattern
ps_end_template
ps_fill_stroke
ps_fill
ps_findfont
ps_get_buffer
ps_get_parameter
ps_get_value
ps_hyphenate
ps_include_file
ps_lineto
ps_makespotcolor
ps_moveto
ps_new
ps_open_file
ps_open_image_file
ps_open_image
ps_open_memory_image
ps_place_image
ps_rect
ps_restore
ps_rotate
ps_save
ps_scale
ps_set_border_color
ps_set_border_dash
ps_set_border_style
ps_set_info
ps_set_parameter
ps_set_text_pos
ps_set_value
ps_setcolor
ps_setdash
ps_setflat
ps_setfont
ps_setgray
ps_setlinecap
ps_setlinejoin
ps_setlinewidth
ps_setmiterlimit
ps_setoverprintmode
ps_setpolydash
ps_shading_pattern
ps_shading
ps_shfill
ps_show_boxed
ps_show_xy2
ps_show_xy
ps_show2
ps_show
ps_string_geometry
ps_stringwidth
ps_stroke
ps_symbol_name
ps_symbol_width
ps_symbol
ps_translate
eXTReMe Tracker