summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKushal K S V S <kkushal32@gmail.com>2017-08-26 03:55:05 -0700
committerKushal K S V S <kkushal32@gmail.com>2018-03-18 20:40:45 +0530
commita2f066f7a5596d063150887f504dd98f39446b2d (patch)
tree84f14e806ce362c4a3e284d9653b5e1a8d9f2897
parente7edf130bed63d7a853394b431c0c0554a8f438b (diff)
downloadfreetype2-a2f066f7a5596d063150887f504dd98f39446b2d.tar.gz
Script change and Render Mode calling
-rw-r--r--tests/make_png/Makefile4
-rw-r--r--tests/make_png/bitmap.c30
-rw-r--r--tests/make_png/bitmap.h5
-rw-r--r--tests/make_png/make_sprite.c40
-rwxr-xr-xtests/make_png/runme.sh66
5 files changed, 87 insertions, 58 deletions
diff --git a/tests/make_png/Makefile b/tests/make_png/Makefile
index d7aa2cabe..dcb90ba78 100644
--- a/tests/make_png/Makefile
+++ b/tests/make_png/Makefile
@@ -5,8 +5,6 @@ include $(TOP_DIR)/builds/unix/unix-def.mk
SRC_SPRITE = make_sprite.c bitmap.c murmur3.c
-OBJS = $(src:.c=.o)
-
CFLAGS = -Wall -g
CC = gcc
INCLUDE = -I $(includedir)/freetype2
@@ -15,7 +13,7 @@ LIBS = -lpng -lharfbuzz -lbz2 -ldl
all: tests
tests: $(SRC_SPRITE)
- $(CC) $(CFLAGS) $(INCLUDE) -o $@ $(SRC_SPRITE) $(SRC_LIB) $(OBJS) $(LIBS)
+ $(CC) $(CFLAGS) $(INCLUDE) -o $@ $^ $(LIBS)
.PHONY: clean force
clean:
diff --git a/tests/make_png/bitmap.c b/tests/make_png/bitmap.c
index 641191597..6773b7de8 100644
--- a/tests/make_png/bitmap.c
+++ b/tests/make_png/bitmap.c
@@ -42,6 +42,34 @@ HASH_32 * Generate_Hash_x86_32( FT_Bitmap * bitmap,
return murmur;
}
+/* This function takes the render mode argument and */
+/* returns the corresponding render_mode */
+int Get_Render_Mode(const char* mode){
+ /* Using -1 as the error code */
+ int render_mode = -1;
+
+ if ( strcmp(mode,"MONO") == 0 )
+ {
+ render_mode = 0;
+ }else if ( strcmp(mode,"AA") == 0 )
+ {
+ render_mode = 1;
+ }else if ( strcmp(mode,"RGB") == 0 )
+ {
+ render_mode = 2;
+ }else if ( strcmp(mode,"BGR") == 0 )
+ {
+ render_mode = 3;
+ }else if ( strcmp(mode,"VRGB") == 0 )
+ {
+ render_mode = 4;
+ }else if ( strcmp(mode,"VBGR") == 0 )
+ {
+ render_mode = 5;
+ }
+ return render_mode;
+}
+
/* This function takes in the IMAGE data and returns the pointer */
/* to the pixel at co-ordinates (x,y). This is used to access the */
/* pixel data */
@@ -623,7 +651,7 @@ void Stitch(IMAGE* left, IMAGE* right, IMAGE* result){
}
/* This prints table-headers to a HTML file for the list-view page */
-void Print_Head( FILE* fp, char* fam, char* style, int size, int dpi){
+void Print_Head( FILE* fp ){
printf(" *** Generating Images *** \n");
fprintf(fp,
"<html>\n\
diff --git a/tests/make_png/bitmap.h b/tests/make_png/bitmap.h
index 1c206ef07..ed3e0f1c0 100644
--- a/tests/make_png/bitmap.h
+++ b/tests/make_png/bitmap.h
@@ -59,7 +59,8 @@ HASH_128* Generate_Hash_x64_128(FT_Bitmap* bitmap, HASH_128* murmur);
int Compare_Hash(HASH_128* hash_b, HASH_128* hash_t);
/*-----------------------------------------------------------------*/
-
+/* Returns the render_mode */
+int Get_Render_Mode(const char* mode);
/* Returns a pointer to pixel */
/* at (x,y) co-ordinate */
PIXEL* Pixel_At (IMAGE * bitmap, int x, int y);
@@ -86,4 +87,4 @@ int Image_Diff( IMAGE* base, IMAGE* test);
/* Print the row in list-view webpage */
void Print_Row( FILE* fp, int index, char* name, int diff );
/* Print the table-headers in list-view webpage */
-void Print_Head( FILE* fp, char* fam, char* style, int size, int dpi);
+void Print_Head( FILE* fp );
diff --git a/tests/make_png/make_sprite.c b/tests/make_png/make_sprite.c
index f51f88c99..b85c2b8f0 100644
--- a/tests/make_png/make_sprite.c
+++ b/tests/make_png/make_sprite.c
@@ -13,8 +13,8 @@ int main(int argc, char const *argv[])
const char* base_version;
const char* test_version;
const char* font_file;
- int size;
- int render_mode;
+ const char* mode;
+ int pt_size;
int dpi;
int load_flag; /* FT_LOAD_XXX */
@@ -25,8 +25,8 @@ int main(int argc, char const *argv[])
test_version = argv[2];
font_file = argv[3];
- size = atoi(argv[4]);
- render_mode = atoi(argv[5]);
+ pt_size = atoi(argv[4]);
+ mode = argv[5];
dpi = atoi(argv[6]);
FT_Library base_library;
@@ -43,7 +43,9 @@ int main(int argc, char const *argv[])
FT_Error error;
- int alignment = 4;
+ int render_mode;
+ int alignment = 4;
+
int output_file_size = 100 + strlen(argv[3]);
char * output_file_name = (char *)calloc( output_file_size,
sizeof(char));
@@ -213,7 +215,13 @@ int main(int argc, char const *argv[])
"FT_Done_FreeType");
/*******************************************************************/
-
+ render_mode = Get_Render_Mode(mode);
+ if (render_mode < 0)
+ {
+ printf("Enter valid Render Mode.\n");
+ exit(1);
+ }
+
switch ( render_mode ) {
case 0: render_flag = FT_RENDER_MODE_MONO;
load_flag = FT_LOAD_MONOCHROME;
@@ -295,7 +303,7 @@ int main(int argc, char const *argv[])
}
error = Base_Set_Char_Size( base_face,
- size * 64,
+ pt_size * 64,
0,
dpi,
0 );
@@ -304,7 +312,7 @@ int main(int argc, char const *argv[])
exit(1);
}
error = Test_Set_Char_Size( test_face,
- size * 64,
+ pt_size * 64,
0,
dpi,
0 );
@@ -319,11 +327,11 @@ int main(int argc, char const *argv[])
/* Initialising file pointer for the list-view*/
if (snprintf( output_file_name,
output_file_size,
- "./html/pages/%d/%s/%d/%d/index.html",
+ "./html/pages/%d/%s/%s/%d/index.html",
dpi,
font_file,
- render_mode,
- size )
+ mode,
+ pt_size )
> output_file_size )
{
printf("Buffer overflow. Increase output_file_size\n");
@@ -338,7 +346,7 @@ int main(int argc, char const *argv[])
exit(1);
}
- Print_Head(fp,base_face->family_name,base_face->style_name,size,dpi);
+ Print_Head( fp );
/* Need to write code to check the values in FT_Face and compare */
for ( i = 0; i < base_face->num_glyphs; ++i)
@@ -461,11 +469,11 @@ int main(int argc, char const *argv[])
if (snprintf( output_file_name,
output_file_size,
- "./html/pages/%d/%s/%d/%d/images/%s.png",
+ "./html/pages/%d/%s/%s/%d/images/%s.png",
dpi,
font_file,
- render_mode,
- size,
+ mode,
+ pt_size,
glyph_name )
> output_file_size)
{
@@ -478,7 +486,7 @@ int main(int argc, char const *argv[])
Print_Row(fp,i,glyph_name,pixel_diff );
}
}
- printf("Total : %ld\nFaulty : %d\n",base_face->num_glyphs,
+ printf("Total : %ld\nFaulty : %d\n\n",base_face->num_glyphs,
total_count );
/* HTML footer */
fprintf(fp,
diff --git a/tests/make_png/runme.sh b/tests/make_png/runme.sh
index c19e98c12..0133dd420 100755
--- a/tests/make_png/runme.sh
+++ b/tests/make_png/runme.sh
@@ -1,23 +1,21 @@
+#! /bin/bash
+
rm -rf ./html/pages
rm -f ./html/top.html
#####################################################################
-FT_TEST_DPI=${FT_TEST_DPI:-72 96};
-FT_TEST_FONT_FILE=${FT_TEST_FONT_FILE:-test.ttf};
-FT_TEST_RENDER_MODE=${FT_TEST_RENDER_MODE:-AA RGB};
-FT_TEST_PT_SIZE=${FT_TEST_PT_SIZE:-16 20};
+FT_TEST_DPI=${FT_TEST_DPI:-72 96}
+FT_TEST_FONT_FILE=${FT_TEST_FONT_FILE:-test.ttf}
+FT_TEST_RENDER_MODE=${FT_TEST_RENDER_MODE:-AA RGB}
+FT_TEST_PT_SIZE=${FT_TEST_PT_SIZE:-16 20}
-FT_TEST_BASE_DIR=${FT_TEST_BASE_DIR:-$HOME/base};
-FT_TEST_TEST_DIR=${FT_TEST_TEST_DIR:-../..};
+FT_TEST_BASE_DIR=${FT_TEST_BASE_DIR:-$HOME/base}
+FT_TEST_TEST_DIR=${FT_TEST_TEST_DIR:-../..}
-FT_TEST_BASE_DLL=${FT_TEST_BASE_DLL:-$FT_TEST_BASE_DIR/objs/.libs/libfreetype.so};
-FT_TEST_TEST_DLL=$FT_TEST_TEST_DIR/objs/.libs/libfreetype.so
-#####################################################################
-declare -A arr
-arr["MONO"]=0
-arr+=(["AA"]=1 ["RGB"]=2 ["BGR"]=3 ["VRGB"]=4 ["VBGR"]=5)
+FT_TEST_BASE_DLL=${FT_TEST_BASE_DLL:-$FT_TEST_BASE_DIR/objs/.libs/libfreetype.so}
+FT_TEST_TEST_DLL=${FT_TEST_TEST_DLL:-$FT_TEST_TEST_DIR/objs/.libs/libfreetype.so}
#####################################################################
mkdir ./html/pages
-touch ./html/top.html;
+touch ./html/top.html
#####################################################################
echo '
<!DOCTYPE html>
@@ -32,60 +30,56 @@ echo '
<iframe id="frame_1" name="frame_1" src="" ></iframe>
<iframe id="frame_2" name="frame_2" src="diff.html" ></iframe>
<div class="select">
- '>./html/top.html;
+ '>./html/top.html
#####################################################################
for i in $FT_TEST_DPI; do
mkdir ./html/pages/$i
for j in $FT_TEST_FONT_FILE; do
mkdir ./html/pages/$i/$j
for k in $FT_TEST_RENDER_MODE; do
- mkdir ./html/pages/$i/$j/${arr[$k]}
+ mkdir ./html/pages/$i/$j/$k
for l in $FT_TEST_PT_SIZE; do
- mkdir ./html/pages/$i/$j/${arr[$k]}/$l
- mkdir ./html/pages/$i/$j/${arr[$k]}/$l/images
- ./tests $FT_TEST_BASE_DLL $FT_TEST_TEST_DLL $j $l ${arr[$k]} $i
+ mkdir ./html/pages/$i/$j/$k/$l
+ mkdir ./html/pages/$i/$j/$k/$l/images
+ ./tests $FT_TEST_BASE_DLL $FT_TEST_TEST_DLL $j $l $k $i
done
done
done
done
#####################################################################
-echo '<label>DPI&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp:<select name="dpi" id="dpi" onchange="change()">'>>./html/top.html;
+echo '<label>DPI&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp:<select name="dpi" id="dpi" onchange="change()">'>>./html/top.html
for i in $FT_TEST_DPI; do
- echo " <option value= $i > $i </option>">>./html/top.html;
+ echo " <option value= $i > $i </option>">>./html/top.html
done
echo '</select>
- </label><br>'>>./html/top.html;
+ </label><br>'>>./html/top.html
#####################################################################
-echo '<label>Font&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp:<select name="font" id="font" onchange="change()">'>>./html/top.html;
+echo '<label>Font&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp:<select name="font" id="font" onchange="change()">'>>./html/top.html
for i in $FT_TEST_FONT_FILE; do
- echo " <option value= $i > $i </option>">>./html/top.html;
+ echo " <option value= $i > $i </option>">>./html/top.html
done
echo '</select>
- </label><br>'>>./html/top.html;
+ </label><br>'>>./html/top.html
#####################################################################
-echo '<label>Render Mode:<select name="mode" id="mode" onchange="change()">'>>./html/top.html;
+echo '<label>Render Mode:<select name="mode" id="mode" onchange="change()">'>>./html/top.html
for i in $FT_TEST_RENDER_MODE; do
- echo " <option value= ${arr[$i]} > $i </option>">>./html/top.html;
+ echo " <option value= $i > $i </option>">>./html/top.html
done
echo '</select>
- </label><br>'>>./html/top.html;
+ </label><br>'>>./html/top.html
#####################################################################
-echo '<label>Size&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp:<select name="size" id="size" onchange="change()">'>>./html/top.html;
+echo '<label>Size&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp:<select name="size" id="size" onchange="change()">'>>./html/top.html
for i in $FT_TEST_PT_SIZE; do
- echo " <option value= $i > $i </option>">>./html/top.html;
+ echo " <option value= $i > $i </option>">>./html/top.html
done
echo '</select>
- </label><br>'>>./html/top.html;
+ </label><br>'>>./html/top.html
#####################################################################
echo '</div>
</body>
- </html>'>>./html/top.html;
+ </html>'>>./html/top.html
#####################################################################
echo "Font : " $FT_TEST_FONT_FILE
-echo "Size : " $FT_TEST_PT_SIZE
+echo "Point Size : " $FT_TEST_PT_SIZE
echo "Render_Mode: " $FT_TEST_RENDER_MODE
echo "DPI : " $FT_TEST_DPI
-
-
-
-