pdf_setfont got optional parameter to embed fonts

This commit is contained in:
Uwe Steinmann 1999-09-09 06:19:01 +00:00
parent 67daaa7aac
commit 6bcb8eb1be

View file

@ -515,12 +515,26 @@ PHP_FUNCTION(pdf_show_xy) {
/* {{{ proto void pdf_set_font(int pdfdoc, string font, double size, int encoding) /* {{{ proto void pdf_set_font(int pdfdoc, string font, double size, int encoding)
Select the current font face, size and encoding */ Select the current font face, size and encoding */
PHP_FUNCTION(pdf_set_font) { PHP_FUNCTION(pdf_set_font) {
pval *arg1, *arg2, *arg3, *arg4; pval *arg1, *arg2, *arg3, *arg4, *arg5;
int id, type, font; int id, type, font, embed;
PDF *pdf; PDF *pdf;
PDF_TLS_VARS; PDF_TLS_VARS;
if (ARG_COUNT(ht) != 4 || getParameters(ht, 4, &arg1, &arg2, &arg3, &arg4) == FAILURE) { switch (ARG_COUNT(ht)) {
case 4:
if (getParameters(ht, 4, &arg1, &arg2, &arg3, &arg4) == FAILURE) {
WRONG_PARAM_COUNT;
}
embed = 0;
break;
case 5:
if (getParameters(ht, 5, &arg1, &arg2, &arg3, &arg4, &arg5) == FAILURE) {
WRONG_PARAM_COUNT;
}
convert_to_long(arg5);
embed = arg5->value.lval;
break;
default:
WRONG_PARAM_COUNT; WRONG_PARAM_COUNT;
} }
@ -542,23 +556,23 @@ PHP_FUNCTION(pdf_set_font) {
switch(arg4->value.lval) { switch(arg4->value.lval) {
case 0: case 0:
font = PDF_findfont(pdf, arg2->value.str.val, "builtin", 1); font = PDF_findfont(pdf, arg2->value.str.val, "builtin", embed);
break; break;
case 1: case 1:
font = PDF_findfont(pdf, arg2->value.str.val, "pdfdoc", 1); font = PDF_findfont(pdf, arg2->value.str.val, "pdfdoc", embed);
break; break;
case 2: case 2:
font = PDF_findfont(pdf, arg2->value.str.val, "macroman", 1); font = PDF_findfont(pdf, arg2->value.str.val, "macroman", embed);
break; break;
case 3: case 3:
font = PDF_findfont(pdf, arg2->value.str.val, "macexpert", 1); font = PDF_findfont(pdf, arg2->value.str.val, "macexpert", embed);
break; break;
case 4: case 4:
font = PDF_findfont(pdf, arg2->value.str.val, "winansi", 1); font = PDF_findfont(pdf, arg2->value.str.val, "winansi", embed);
break; break;
default: default:
php3_error(E_WARNING,"Encoding out of range, using 0"); php3_error(E_WARNING,"Encoding out of range, using 0");
font = PDF_findfont(pdf, arg2->value.str.val, "builtin", 1); font = PDF_findfont(pdf, arg2->value.str.val, "builtin", embed);
} }
if (font < 0) { if (font < 0) {