You need to sit through my PDF/PHP talk where I go through all this. See conf.php.net/paris2 specifically slides 7 and 8
In particular see the example: http://conf.php.net/pres/slides/intro/pdf_font_ex2.php the code for which is on slide #8. This example shows how to use each of the built-in fonts, a couple of AFM (Adobe Font Metric) fonts and also a couple of TTF fonts all on the same PDF page. -Rasmus On Mon, 18 Feb 2002, Richard Lynch wrote: > Please Cc: me on replies... > > I recently installed PHP 4.1.0 + PDF 4.0.1 on my development box. > > I can't seem to get the PDF fonts to work properly at all... > > Here are a lot of details about things I understand, and a lot of > remarks about what I half-understand. > > Note that, as a rule, font technology seems to be such a morass that > I don't really understand it as a whole, even after reading all the > HowTos and explanations. There are just too many players, and too > many variables involved for my poor little brain... I grok all the > little pieces and even some of the big-picture stuff okay, but when > it comes time to actually use them all, I feel like I need eight > brains to track it all... > > At any rate, I'm afraid this post goes on quit a bit to explain all > the things I've tried, and it would be a lot shorter if I was > smarter, but I'm not. :-v > > To paraphrase Blaise Pascal: > "I'm sorry this post is so long, I didn't have the brains to make it > short." :-) > > Okay, enough apologies: > > I'm using > pdf_set_parameter($pdf, "resourcefile", "/home/www/pdffonts/pdflib.upr"); > and I can muck with that pdflib.upr file and screw it up to cause > different error messages, so I'm reasonably certain it's getting > read. :-) > > However, my choices for http://php.net/pdf_findfont seem to be using > "host" fonts, not "checked" (0) -- so they get rendered by the client > at the time of drawing (more on *that* later), or using "winansi" and > "checked" (1) or "host" and "checked" (1) in which case I get my > choice of error messages like: > > Can't find Outline Font data for "Helvetica" > Can't find Font Metrics for "Helvetica" > > Those are paraphrases, but I could get the precise messages if you > really need 'em... And I can't remember which message goes with > which combination of host/winansi, checked/unchecked, but does it > really matter? It can't find the damn Helvetica.afm file, as near as > I can figure. > > And I've tried some of the other 14 built-in fonts, even ones that > would be unacceptable in the end, just to see. No joy in Mudville. > Oh, and using "builtin" instead of "host" or "winansi" didn't work. > Not sure I even understand the difference between "builtin" and > "host" anyway... I forget exactly which of the not-working states it > generated, but it was the same as one of the ones described herein, > so let's just skip that for now, okay? > > I get these differences based on my inputs to http://pdf_findfont and > by altering the pdflib.upr file as noted in the comments within that. > I've tried so *many* things, none of which work, so I can't be sure, > but I don't think the "path entry" in pdflib.upr has any effect > whatsoever... > > Actually, I think I can break it badly enough to get a different > error message about an invalid pdflib.pdr file (something about not > finding the FontAFM section, which comes right after the "path > entry"), but any parse-able pathname at all seems to be just as good, > or should I say just as bad, as the actual path to my fonts > directory. Currently, it's set at: > > //home/www/pdffonts > > which is, indeed a valid directory with all my fonts and the > pdflib.upr file in it, which, as noted above, seems to be getting > read in. > > NOTE: The docs in pdflib.upr say that the "extra" leading "/" for > "path entry" is required by PDF, and that there should be no trailing > "/" Honest. If you're on a Mac, you'd be using ":" instead of "/" > for all but the first "/". > > So, of course, I already tried it without either or both extra front > and trailing "/" and it doesn't work. Doesn't make it any worse, but > it didn't help either. :-) Point is, I'm pretty sure that that > entry is correct syntactically. > > I've also tried everything up to, and including, chmod 777 on the > font files and their enclosing directory. Naturally, after that > failed, I set them back to something sensible like 664 and owned by > www:www, the PHP User in httpd.conf who should be the user attempting > to read these files, right? > > Or does PDFlib actually do chroot or whatever that's called?... This > is behind a firewall, not a real web-server, so I could live with > making these files even root executable and world writable it if > would just make the darn thing work. No, it didn't help to make them > root-owned and chmod 777. Yes, I was desperate enough to try. Yes, > I put them back to something sensible. > > I've even tried swapping in the font files from a PHP-4.2.0-dev + PDF > 3.x server where it works just fine > (http://uncommonground.com/events.pdf) for my font files, since there > are minor differences -- CR/LF line endings, extra encodings, sample > Outline/Metric entries in pdflib.upr (but no actual corresponding > font files to got with them). The code for that working PDF uses > "host" and "checked" (1), which I should probably change to "winansi" > and "checked" to avoid compatibility problems, but I'm not touching > nothing, for now, on the one that actually *WORKS*! > > Actually, I even have this all working on *ANOTHER* (albeit very > similar) box at http://chatmusic.com/calendar.pdf -- Perhaps I should > say Hostbaby http://hostbably.com (a really *great* PHP host) has it > working, since they set up the PDF stuff for me. > > Anyway, trying to "fix" the Helvetica.afm (and all the other) files > so they match the line-ending of a working model didn't help. > > Any wild guess yet as to what went wrong?... > > Neither server seems to have any Helvetica Metric nor Outline data > files, or, at least, no files with "Helvetica" and endings like .pfa > or, well, anything *other* than .afm... Hmmmm. I guess an .afm file > *IS* FontMetrics, but it's different from PFM which is also a Font > Metrics file. Sigh. I guess there's lotsa different kinds of Font > Metrics files? Whatever. Mine's broken, and the error message is > about no "Font Metrics" (or "Font Outline", take your pick) and yet > the same damn Helvetica.afm file works just fine on the other box. > > Unfortunately, the "host" and not "checked" rendering (IE, relying on > the client to draw the characters) works, for some sense of the word > "work"... > > If you don't mind having output with *EVERY* instance of 'G' and 'H' > replaced by a perfectly-spaced *BLANK* space!!! Makes for > interesting reading, I guess, but it probably won't fly too well... > > Nice rendering, guys, but I kinda wanted all my letters to be > visible, okay? The 'G' and 'H' characters are getting sucked in from > a dozen different web-sites, so I think I can safely rule out that > they aren't non-ASCII or anything like that... > > I have no idea why my Mac and/or PDF don't like those 'G' and 'H' > letters. Maybe they didn't watch Sesame Street on the days those > letters were featured. :-) Seriously, though, is it too much to ask > that the font-rendering engine produce something remotely *LIKE* a > 'G' or 'H'? I'm not asking it for something perfectly attractive > that a font-designer can cheese over. Just a damn letter than I can > read, okay? > > I'd be perfectly content if the Mac version, or the Windows version > used their ugly/pretty/whatever version of the Helvetica font and > maybe crowded my design a little to let the letters all fit, or even > chopped off a little bit of a last character here or there, as I > understand that that's the price for using "host" and not "checked". > But simply not drawing every 'G' and every 'H' (and leaving "room" > for them) is just not making any sense to me at all... > > I'm using the "host" and not "checked" for now on the assumption that > y'all can help me, and I can focus on getting the application to do > what I want before this silly font thing becomes a crisis... > > I can't go to PHP 4.1.1 (yet) and play with Zend Studio Server 2.0, > so would just as soon not try the "upgrade PHP" route unless somebody > is sure that's the problem. > > I will try to down-grade to PDF 3.x next, I guess, but I'm focusing > on the application for now, so information that down-grade to PDF 3.x > would fix or not fix my problems (or, at least, *this* problem) would > be nifty -- Even if it's "I use PDF 4.0.1 and it works fine for me" > would be helpful. > > I am not wedded to "Helvetica" per se -- If somebody could point me > to a URL of a similar-looking *FREE* font where I can download the > .afm and .pfa and .ps and .enc and .cpg and whatever *other* TLA's > [sheesh!] these font geeks can come up with, I'm down with that too. > I'll settle for "decent-looking and reliable" over "gorgeous and > unreliable" font technology any day of the week. Something really > ugly like Times or mono-spaced like Courier... Not so much. > > All I know is, every time I try and figure out this font crapola, I > get a major headache. I'm a low-brow kinda guy, and while I want a > decent-looking font, I'm not going to whine over the curve of the > serif on the letter Q at 73-point-size or anything. I'd sure > appreciate it if somebody "out there" in "font land" could take pity > on us mere mortals and provide a simple alternative to this morass of > design-quibbling (as I see it). I'm not looking for gorgeous, I just > want a decent-looking font where all the letters actually show up. :-) > > THANKS!!! > -- > Got Music? http://l-i-e.com/artists.htm > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php