- oops, truetype font parameter is not a file name! Stream support for TT

pp [2005-01-09 21:39:47]
- oops, truetype font parameter is not a file name! Stream support for TT
  fonts removed
- truetype fonts encodings removed, as current version of imlib2 doesn't
  support it. Use utf-8 strings instead.


git-svn-id: https://siedziba.pl:790/svn/repos/php-imlib/trunk@95 455248ca-bdda-0310-9134-f4ebb693071a
Filename
php_imlib.c
diff --git a/php_imlib.c b/php_imlib.c
index c142ef4..5f19195 100644
--- a/php_imlib.c
+++ b/php_imlib.c
@@ -531,14 +531,6 @@ Imlib_Font _php_imlib_get_font(zval** font_resource)
 	return php_font->font;
 }

-Imlib_TTF_Encoding _php_imlib_get_encoding(zval** font_resource)
-{
-	PHP_Imlib_Font php_font;
-	TSRMLS_FETCH();
-	MY_ZEND_FETCH_RESOURCE(php_font, PHP_Imlib_Font, font_resource, -1, "Imlib Font", le_imlib_font);
-	return php_font->enc;
-}
-
 Imlib_Color_Range _php_imlib_get_cr(zval** cr_resource)
 {
 	Imlib_Color_Range cr;
@@ -611,12 +603,6 @@ ZEND_MODULE_STARTUP_D(imlib)
 	REGISTER_LONG_CONSTANT("IMLIB_TEXT_TO_UP", IMLIB_TEXT_TO_UP, CONST_CS|CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("IMLIB_TEXT_TO_ANGLE", IMLIB_TEXT_TO_ANGLE, CONST_CS|CONST_PERSISTENT);

-	REGISTER_LONG_CONSTANT("IMLIB_TTF_ENCODING_ISO_8859_1", IMLIB_TTF_ENCODING_ISO_8859_1, CONST_CS|CONST_PERSISTENT);
-	REGISTER_LONG_CONSTANT("IMLIB_TTF_ENCODING_ISO_8859_2", IMLIB_TTF_ENCODING_ISO_8859_2, CONST_CS|CONST_PERSISTENT);
-	REGISTER_LONG_CONSTANT("IMLIB_TTF_ENCODING_ISO_8859_3", IMLIB_TTF_ENCODING_ISO_8859_3, CONST_CS|CONST_PERSISTENT);
-	REGISTER_LONG_CONSTANT("IMLIB_TTF_ENCODING_ISO_8859_4", IMLIB_TTF_ENCODING_ISO_8859_4, CONST_CS|CONST_PERSISTENT);
-	REGISTER_LONG_CONSTANT("IMLIB_TTF_ENCODING_ISO_8859_5", IMLIB_TTF_ENCODING_ISO_8859_5, CONST_CS|CONST_PERSISTENT);
-
 	REGISTER_LONG_CONSTANT("IMLIB_CHANNEL_RED", 1, CONST_CS|CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("IMLIB_CHANNEL_GREEN", 2, CONST_CS|CONST_PERSISTENT);
 	REGISTER_LONG_CONSTANT("IMLIB_CHANNEL_BLUE", 4, CONST_CS|CONST_PERSISTENT);
@@ -1444,7 +1430,6 @@ PHP_FUNCTION(imlib_get_text_advance)
    PHP_Imlib_Font fn;
    const char *text = NULL;
    int horiz_adv, vert_adv, dir;
-   Imlib_TTF_Encoding old_enc;

    if (ZEND_NUM_ARGS() != 5 || zend_get_parameters_ex(5, &font, &textstr, &thoriz_adv, &tvert_adv, &tdir) == FAILURE) {
       WRONG_PARAM_COUNT;
@@ -1465,11 +1450,8 @@ PHP_FUNCTION(imlib_get_text_advance)
    dir = Z_LVAL_PP(tdir);

    imlib_context_set_font(fn->font);
-   old_enc=imlib_context_get_TTF_encoding();
-   imlib_context_set_TTF_encoding(fn->enc);
    imlib_context_set_direction(dir);
    imlib_get_text_advance(text, &horiz_adv, &vert_adv);
-   imlib_context_set_TTF_encoding(old_enc);

    ZVAL_LONG(*thoriz_adv,horiz_adv);
    ZVAL_LONG(*tvert_adv,vert_adv);
@@ -1485,7 +1467,6 @@ PHP_FUNCTION(imlib_get_text_size)
    PHP_Imlib_Font fn;
    const char *text = NULL;
    int w,h,dir;
-   Imlib_TTF_Encoding old_enc;

    if (ZEND_NUM_ARGS() != 5 || zend_get_parameters_ex(5, &font, &textstr, &tw, &th, &tdir) == FAILURE) {
       WRONG_PARAM_COUNT;
@@ -1506,11 +1487,8 @@ PHP_FUNCTION(imlib_get_text_size)
    dir = Z_LVAL_PP(tdir);

    imlib_context_set_font(fn->font);
-   old_enc=imlib_context_get_TTF_encoding();
-   imlib_context_set_TTF_encoding(fn->enc);
    imlib_context_set_direction(dir);
    imlib_get_text_size(text, &w, &h);
-   imlib_context_set_TTF_encoding(old_enc);

    ZVAL_LONG(*tw,w);
    ZVAL_LONG(*th,h);
@@ -2021,46 +1999,25 @@ PHP_FUNCTION(imlib_list_fonts)
 /* }}} */


-/* {{{ proto int imlib_load_font(string fontname[, string encoding])
+/* {{{ proto int imlib_load_font(string fontname)
    Load a font */
 PHP_FUNCTION(imlib_load_font)
 {
-   zval **fontname, **encoding;
+   zval **fontname;
    PHP_Imlib_Font fn;
    int argc;
-   char* filename;
-   FILE* f;

    argc=ZEND_NUM_ARGS();
-   if (argc < 1 || argc > 2 || zend_get_parameters_ex(argc, &fontname, &encoding) == FAILURE) {
+   if (argc != 1 || zend_get_parameters_ex(argc, &fontname) == FAILURE) {
       WRONG_PARAM_COUNT;
    }

-   if ((Z_LVAL_PP(encoding)<IMLIB_TTF_ENCODING_ISO_8859_1)||(Z_LVAL_PP(encoding)>IMLIB_TTF_ENCODING_ISO_8859_5))
-   {
-      php_error(E_NOTICE, "Invalid font encoding ignored");
-      argc=1;
-   }
-
    fn=(PHP_Imlib_Font)emalloc(sizeof(PHP_Imlib_Font_struct));
    if (!fn) RETURN_FALSE;

-   if (argc==2)
-   {
-      convert_to_long_ex(encoding);
-      fn->enc=(Imlib_TTF_Encoding)Z_LVAL_PP(encoding);
-      imlib_context_set_TTF_encoding(fn->enc);
-   }
-
    convert_to_string_ex(fontname);

-   f = php_stream_open_wrapper_as_file(Z_STRVAL_PP(fontname), "rb", IGNORE_PATH | ENFORCE_SAFE_MODE | REPORT_ERRORS, &filename);
-   if (f == NULL) RETURN_FALSE;
-
-   fn->font = imlib_load_font(filename);
-
-   fclose(f);
-   efree(filename);
+   fn->font = imlib_load_font(Z_STRVAL_PP(fontname));

    if (!fn->font)
    {
@@ -2068,10 +2025,6 @@ PHP_FUNCTION(imlib_load_font)
       php_error(E_WARNING, "%s - Could not load font.", Z_STRVAL_PP(fontname));
       RETURN_FALSE;
    }
-   if (argc==1)
-   {
-      fn->enc=imlib_context_get_TTF_encoding();
-   }

    ZEND_REGISTER_RESOURCE(return_value, fn, le_imlib_font);
 }
@@ -2310,7 +2263,6 @@ PHP_FUNCTION(imlib_text_draw)
    PHP_Imlib_Font fn;
    char *text;
    int x,y,dir,r,g,b,a;
-   Imlib_TTF_Encoding old_enc;

    if (ZEND_NUM_ARGS() != 10 || zend_get_parameters_ex(10, &img, &font, &tx, &ty, &textstr, &tdir, &tr, &tg, &tb, &ta) == FAILURE) {
       WRONG_PARAM_COUNT;
@@ -2334,10 +2286,7 @@ PHP_FUNCTION(imlib_text_draw)
    imlib_context_set_color(r,g,b,a);
    imlib_context_set_font(fn->font);
    imlib_context_set_direction(dir);
-   old_enc=imlib_context_get_TTF_encoding();
-   imlib_context_set_TTF_encoding(fn->enc);
    imlib_text_draw(x, y, text);
-   imlib_context_set_TTF_encoding(old_enc);

    RETURN_TRUE;	/* TODO: Useful return value? */
 }
ViewGit