diff options
author | Kushal K S V S <kkushal32@gmail.com> | 2017-08-24 04:08:34 -0700 |
---|---|---|
committer | Kushal K S V S <kkushal32@gmail.com> | 2017-08-24 04:08:34 -0700 |
commit | 088c73bb9d5ac52e08311f74ff49f74c0f91105c (patch) | |
tree | 4b785171cca8dafe36efdb4487ecbbcdc54df1fe /tests/make_png/make_sprite.c | |
parent | 3223dc41552c21dd2f1a7769f3c557db63c080f8 (diff) | |
download | freetype2-kushal-work.tar.gz |
Generating Pages and Sprite animation [Testing]kushal-work
Diffstat (limited to 'tests/make_png/make_sprite.c')
-rw-r--r-- | tests/make_png/make_sprite.c | 59 |
1 files changed, 27 insertions, 32 deletions
diff --git a/tests/make_png/make_sprite.c b/tests/make_png/make_sprite.c index 54af09487..66e8dc002 100644 --- a/tests/make_png/make_sprite.c +++ b/tests/make_png/make_sprite.c @@ -2,10 +2,9 @@ int main(int argc, char const *argv[]) { - if(argc != 5) + if(argc != 7) { - printf("Usage: ./tests <base .so> <test .so>\ - <fnt_file> <pt_size>\n"); + printf("Not enough arguments. Refer README\n"); return 0; } @@ -15,6 +14,8 @@ int main(int argc, char const *argv[]) const char* test_version; const char* font_file; int size; + int render_mode; + int dpi; int load_flag; /* FT_LOAD_XXX */ int render_flag; /* FT_RENDER_MODE_XXX */ @@ -25,6 +26,8 @@ int main(int argc, char const *argv[]) font_file = argv[3]; size = atoi(argv[4]); + render_mode = atoi(argv[5]); + dpi = atoi(argv[6]); FT_Library base_library; FT_Face base_face; @@ -41,7 +44,7 @@ int main(int argc, char const *argv[]) FT_Error error; int alignment = 4; - char * output_file_name = ( char * )calloc(50,sizeof(char)); + char * output_file_name = ( char * )calloc(100,sizeof(char)); IMAGE* base_png = (IMAGE*)malloc(sizeof(IMAGE)); IMAGE* test_png = (IMAGE*)malloc(sizeof(IMAGE)); @@ -208,7 +211,7 @@ int main(int argc, char const *argv[]) /*******************************************************************/ - switch ( FT_TEST_RENDER_MODE ) { + switch ( render_mode ) { case 0: render_flag = FT_RENDER_MODE_MONO; load_flag = FT_LOAD_MONOCHROME; target_flag = FT_LOAD_TARGET_MONO; @@ -255,7 +258,7 @@ int main(int argc, char const *argv[]) exit(1); } - if (FT_TEST_RENDER_MODE > 1 ) + if (render_mode > 1 ) { error = Base_Library_SetLcdFilter( base_library, FT_LCD_FILTER_DEFAULT ); @@ -291,7 +294,7 @@ int main(int argc, char const *argv[]) error = Base_Set_Char_Size( base_face, size * 64, 0, - DPI, + dpi, 0 ); if(error){ printf("Error setting character size\n"); @@ -300,7 +303,7 @@ int main(int argc, char const *argv[]) error = Test_Set_Char_Size( test_face, size * 64, 0, - DPI, + dpi, 0 ); if(error){ printf("Error setting character size\n"); @@ -310,20 +313,12 @@ int main(int argc, char const *argv[]) base_slot = base_face->glyph; test_slot = test_face->glyph; - /* If folders aren't there, create folders */ - struct stat st = {0}; - if (stat("./html/", &st) == -1) { - mkdir("./html/", 0777); - } - - if (stat("./html/images/", &st) == -1) { - mkdir("./html/images/", 0777); - } - /* Initialising file pointer for the list-view*/ - FILE* fp = fopen("html/index.html","w"); - - Print_Head(fp,base_face->family_name, base_face->style_name, size); + sprintf( output_file_name, "./html/pages/%d/%s/%d/%d/index.html",dpi, font_file, render_mode, size ); + + FILE* fp = fopen(output_file_name,"w"); + + Print_Head(fp,base_face->family_name,base_face->style_name,size,dpi); /* Need to write code to check the values in FT_Face and compare */ for ( i = 0; i < base_face->num_glyphs; ++i) @@ -369,8 +364,8 @@ int main(int argc, char const *argv[]) test_murmur = Generate_Hash_x64_128(test_bitmap,test_murmur); Is_Different = Compare_Hash(base_murmur, test_murmur); - /* To convert 1-bit monochrome to 8-bit bitmap */ - /* because we need 8-bit colour to generate images */ + /* To convert 1-bit monochrome to 8-bit bitmap */ + /* because we need 8-bit colour to generate images */ Base_Bitmap_Init( &base_target ); Test_Bitmap_Init( &test_target ); @@ -395,15 +390,15 @@ int main(int argc, char const *argv[]) { total_count++; pixel_diff = 0; /* Difference metric*/ - if (FT_TEST_RENDER_MODE == 0) + if (render_mode == 0) { /* If monochrome, take the converted image*/ - Make_PNG( &base_target, base_png, i, FT_TEST_RENDER_MODE ); - Make_PNG( &test_target, test_png, i, FT_TEST_RENDER_MODE ); + Make_PNG( &base_target, base_png, i, render_mode ); + Make_PNG( &test_target, test_png, i, render_mode ); }else{ - Make_PNG( base_bitmap, base_png, i, FT_TEST_RENDER_MODE ); - Make_PNG( test_bitmap, test_png, i, FT_TEST_RENDER_MODE ); + Make_PNG( base_bitmap, base_png, i, render_mode ); + Make_PNG( test_bitmap, test_png, i, render_mode ); } /* Aligning images and appending rows */ if (base_png->height < test_png->height) @@ -440,15 +435,15 @@ int main(int argc, char const *argv[]) 50 ); } - sprintf( output_file_name, "./html/images/%s.png", glyph_name ); + sprintf( output_file_name, "./html/pages/%d/%s/%d/%d/images/%s.png",dpi, font_file, render_mode, size, glyph_name ); - Generate_PNG ( output, output_file_name, FT_TEST_RENDER_MODE ); + Generate_PNG ( output, output_file_name, render_mode ); /* To print table row to HTML file */ Print_Row(fp,i,glyph_name,pixel_diff ); } } - printf("Total %ld\nFaulty %d\n",base_face->num_glyphs, - total_count ); + printf("Total : %ld\nFaulty : %d\n",base_face->num_glyphs, + total_count ); /* HTML footer */ fprintf(fp, "</tbody>\n\ |