]> granicus.if.org Git - php/commitdiff
- new functions pdf_get_font, pdf_get_fontsize, pdf_get_fontname
authorUwe Steinmann <steinm@php.net>
Thu, 7 Oct 1999 16:00:48 +0000 (16:00 +0000)
committerUwe Steinmann <steinm@php.net>
Thu, 7 Oct 1999 16:00:48 +0000 (16:00 +0000)
ext/pdf/pdf.c
ext/pdf/php3_pdf.h

index 3d6d65afad07ada2f03c2e4188a649e9cf314a46..b5e8fd17673c7e9bc4190181c8f5d7f931e94a67 100644 (file)
@@ -101,6 +101,9 @@ function_entry pdf_functions[] = {
        PHP_FE(pdf_set_text_pos, NULL)
        PHP_FE(pdf_set_char_spacing, NULL)
        PHP_FE(pdf_set_word_spacing, NULL)
+       PHP_FE(pdf_get_font, NULL)
+       PHP_FE(pdf_get_fontname, NULL)
+       PHP_FE(pdf_get_fontsize, NULL)
        PHP_FE(pdf_continue_text, NULL)
        PHP_FE(pdf_stringwidth, NULL)
        PHP_FE(pdf_save, NULL)
@@ -587,6 +590,86 @@ PHP_FUNCTION(pdf_set_font) {
 }
 /* }}} */
 
+/* {{{ proto string pdf_get_font(int pdfdoc)
+   Gets the current font */
+PHP_FUNCTION(pdf_get_font) {
+       pval *arg1;
+       int id, type, font, embed;
+       PDF *pdf;
+       PDF_TLS_VARS;
+
+       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
+               WRONG_PARAM_COUNT;
+       }
+
+       convert_to_long(arg1);
+       id=arg1->value.lval;
+       pdf = php3_list_find(id,&type);
+       if(!pdf || type!=PDF_GLOBAL(le_pdf)) {
+               php3_error(E_WARNING,"Unable to find file identifier %d",id);
+               RETURN_FALSE;
+       }
+       
+       font = PDF_get_font(pdf);
+
+       RETURN_LONG(font);
+}
+/* }}} */
+
+/* {{{ proto string pdf_get_fontname(int pdfdoc)
+   Gets the current font name */
+PHP_FUNCTION(pdf_get_fontname) {
+       pval *arg1;
+       int id, type, embed;
+       char *fontname;
+       PDF *pdf;
+       PDF_TLS_VARS;
+
+       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
+               WRONG_PARAM_COUNT;
+       }
+
+       convert_to_long(arg1);
+       id=arg1->value.lval;
+       pdf = php3_list_find(id,&type);
+       if(!pdf || type!=PDF_GLOBAL(le_pdf)) {
+               php3_error(E_WARNING,"Unable to find file identifier %d",id);
+               RETURN_FALSE;
+       }
+       
+       fontname = (char *) PDF_get_fontname(pdf);
+
+       RETURN_STRING(fontname, 1);
+}
+/* }}} */
+
+/* {{{ proto string pdf_get_fontsize(int pdfdoc)
+   Gets the current font size */
+PHP_FUNCTION(pdf_get_fontsize) {
+       pval *arg1;
+       int id, type, embed;
+       float fontsize;
+       PDF *pdf;
+       PDF_TLS_VARS;
+
+       if (ARG_COUNT(ht) != 1 || getParameters(ht, 1, &arg1) == FAILURE) {
+               WRONG_PARAM_COUNT;
+       }
+
+       convert_to_long(arg1);
+       id=arg1->value.lval;
+       pdf = php3_list_find(id,&type);
+       if(!pdf || type!=PDF_GLOBAL(le_pdf)) {
+               php3_error(E_WARNING,"Unable to find file identifier %d",id);
+               RETURN_FALSE;
+       }
+       
+       fontsize = PDF_get_fontsize(pdf);
+
+       RETURN_DOUBLE(fontsize);
+}
+/* }}} */
+
 /* {{{ proto void pdf_set_leading(int pdfdoc, double distance)
    Sets distance between text lines */
 PHP_FUNCTION(pdf_set_leading) {
index f7393c3f1549ff3a2a81d336a720d8111a2d70b5..6b7c48372d28981b306e2a39b55e1fc2976aa7f8 100644 (file)
@@ -55,6 +55,9 @@ PHP_FUNCTION(pdf_end_page);
 PHP_FUNCTION(pdf_show);
 PHP_FUNCTION(pdf_show_xy);
 PHP_FUNCTION(pdf_set_font);
+PHP_FUNCTION(pdf_get_font);
+PHP_FUNCTION(pdf_get_fontname);
+PHP_FUNCTION(pdf_get_fontsize);
 PHP_FUNCTION(pdf_set_leading);
 PHP_FUNCTION(pdf_set_text_rendering);
 PHP_FUNCTION(pdf_set_horiz_scaling);