diff options
author | Carsten Haitzler <raster@rasterman.com> | 1999-11-01 17:49:58 +0000 |
---|---|---|
committer | Carsten Haitzler <raster@rasterman.com> | 1999-11-01 17:49:58 +0000 |
commit | 9307c331bd7d7c4aaa190bd6b24cf62cefccf4b5 (patch) | |
tree | caa3bf80391099244b674eb1ec185b6711078768 /test | |
parent | 942f4219e82a80908fcf908f34c0bad1a20c6b7e (diff) | |
download | imlib2-9307c331bd7d7c4aaa190bd6b24cf62cefccf4b5.tar.gz |
restructure the direcotry a bit.......
SVN revision: 1108
Diffstat (limited to 'test')
-rw-r--r-- | test/Makefile.am | 18 | ||||
-rw-r--r-- | test/main.c | 576 | ||||
-rw-r--r-- | test/test_images/audio.png | bin | 0 -> 4263 bytes | |||
-rw-r--r-- | test/test_images/bg.png | bin | 0 -> 132721 bytes | |||
-rw-r--r-- | test/test_images/bulb.png | bin | 0 -> 3504 bytes | |||
-rw-r--r-- | test/test_images/cal.png | bin | 0 -> 2755 bytes | |||
-rw-r--r-- | test/test_images/calc.png | bin | 0 -> 3949 bytes | |||
-rw-r--r-- | test/test_images/folder.png | bin | 0 -> 2873 bytes | |||
-rw-r--r-- | test/test_images/globe.png | bin | 0 -> 3388 bytes | |||
-rw-r--r-- | test/test_images/lock.png | bin | 0 -> 2770 bytes | |||
-rw-r--r-- | test/test_images/mail.png | bin | 0 -> 3222 bytes | |||
-rw-r--r-- | test/test_images/menu.png | bin | 0 -> 3240 bytes | |||
-rw-r--r-- | test/test_images/mush.png | bin | 0 -> 3244 bytes | |||
-rw-r--r-- | test/test_images/paper.png | bin | 0 -> 3410 bytes | |||
-rw-r--r-- | test/test_images/sh1.png | bin | 0 -> 768 bytes | |||
-rw-r--r-- | test/test_images/sh2.png | bin | 0 -> 280 bytes | |||
-rw-r--r-- | test/test_images/sh3.png | bin | 0 -> 360 bytes | |||
-rw-r--r-- | test/test_images/stop.png | bin | 0 -> 2684 bytes | |||
-rw-r--r-- | test/test_images/tnt.png | bin | 0 -> 3010 bytes | |||
-rw-r--r-- | test/ttfonts/cinema.ttf | bin | 0 -> 11584 bytes | |||
-rw-r--r-- | test/ttfonts/grunge.ttf | bin | 0 -> 53189 bytes | |||
-rw-r--r-- | test/ttfonts/morpheus.ttf | bin | 0 -> 68023 bytes | |||
-rw-r--r-- | test/ttfonts/notepad.ttf | bin | 0 -> 31293 bytes |
23 files changed, 594 insertions, 0 deletions
diff --git a/test/Makefile.am b/test/Makefile.am new file mode 100644 index 0000000..b357763 --- /dev/null +++ b/test/Makefile.am @@ -0,0 +1,18 @@ +## Process this file with automake to produce Makefile.in + +AUTOMAKE_OPTIONS = 1.4 foreign + +# A list of all the files in the current directory which can be regenerated +MAINTAINERCLEANFILES = Makefile.in + +LDFLAGS = -L/usr/X11R6/lib +INCLUDES = -I/usr/X11R6/include -I$(top_srcdir)/libltdl \ + $(X_CFLAGS) -I$(prefix)/include -I$(includedir) \ + -I. -I$(top_srcdir) -I$(top_srcdir)/src \ + -I$(top_srcdir)/loaders + +bin_PROGRAMS = imlib2 +imlib2_SOURCES = main.c +imlib2_LDADD = @DLLDFLAGS@ $(top_builddir)/libltdl/libltdlc.la \ + -lX11 -lXext -lttf -lImlib2 + diff --git a/test/main.c b/test/main.c new file mode 100644 index 0000000..768ef84 --- /dev/null +++ b/test/main.c @@ -0,0 +1,576 @@ +#include <X11/Xlib.h> +#include <X11/extensions/XShm.h> +#include <X11/Xutil.h> +#include <X11/extensions/shape.h> +#include <X11/Xatom.h> +#include <X11/Xos.h> +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <unistd.h> +/* +#include <sys/time.h> +#include "common.h" +#include "image.h" +#include "rend.h" +#include "rgba.h" +#include "ximage.h" +#include "color.h" + */ +#include "Imlib2.h" + +Display *disp; +Window win; +Visual *vis; +Colormap cm; +int depth; + +void progress(Imlib_Image *im, char percent, int update_x, int update_y, + int update_w, int update_h); + +void +progress(Imlib_Image *im, char percent, + int update_x, int update_y, + int update_w, int update_h) +{ + imlib_render_image_part_on_drawable_at_size(im, disp, win, vis, cm, depth, + 0, 0, 0, + update_x, update_y, + update_w, update_h, + update_x, update_y, + update_w, update_h, + NULL, IMLIB_OP_COPY); +} + +#if 1 +int main (int argc, char **argv) +{ + int i, j; + Imlib_Image *im = NULL; + int sec1, usec1, sec2, usec2; + int pixels = 0; + struct timeval timev; + double sec; + char *file = NULL; + char *fon = NULL, *str = NULL; + + int root = 0; + int scale = 0; + int w = 20; + int h = 20; + int aa = 0; + int dith = 0; + int loop = 0; + int blend = 1; + int interactive = 1; + int blendtest = 0; + + for (i = 1; i < argc; i++) + { + if (!strcmp(argv[i], "-root")) + root = 1; + else if (!strcmp(argv[i], "-smooth")) + aa = 1; + else if (!strcmp(argv[i], "-blast")) + interactive = 0; + else if (!strcmp(argv[i], "-loop")) + { + interactive = 0; + loop = 1; + } + else if (!strcmp(argv[i], "-blend")) + blend = 1; + else if (!strcmp(argv[i], "-blendtest")) + { + blendtest = 1; + interactive = 0; + } + else if (!strcmp(argv[i], "-dither")) + dith = 1; + else if (!strcmp(argv[i], "-scale")) + scale = 1; + else if (!strcmp(argv[i], "-noloop")) + loop = 0; + else if (!strcmp(argv[i], "-size")) + { + i++; + w = atoi(argv[i++]); + h = atoi(argv[i]); + } + else if (!strcmp(argv[i], "-maxcolors")) + { + i++; + imlib_set_color_usage(atoi(argv[i])); + } + else if (!strcmp(argv[i], "-font")) + { + i++; + fon = argv[i]; + } + else if (!strcmp(argv[i], "-text")) + { + i++; + str = argv[i]; + } + else + file = argv[i]; + } + printf("init\n"); + disp = XOpenDisplay(NULL); + vis = DefaultVisual(disp, DefaultScreen(disp)); + depth = DefaultDepth(disp, DefaultScreen(disp)); + cm = DefaultColormap(disp, DefaultScreen(disp)); + if (root) + win = DefaultRootWindow(disp); + else + { + win = XCreateSimpleWindow(disp, DefaultRootWindow(disp), 0, 0, 10, 10, 0, 0, 0); + XSelectInput(disp, win, ButtonPressMask | ButtonReleaseMask | + ButtonMotionMask | PointerMotionMask | ExposureMask); + } + if (!interactive) + { + im = imlib_load_image_with_progress_callback(file, progress, 0); + if (!im) + { + printf("load fialed\n"); + exit(0); + } + w = imlib_image_get_width(im); + h = imlib_image_get_height(im); + } + if (!root) + { + XResizeWindow(disp, win, w, h); + XMapWindow(disp, win); + } + if (scale) + { + Window d; + int dd; + + XGetGeometry(disp, win, &d, &dd, &dd, &w, &h, &dd, &dd); + } + XSync(disp, False); + printf("rend\n"); + gettimeofday(&timev,NULL); + sec1=(int)timev.tv_sec; /* and stores it so we can time outselves */ + usec1=(int)timev.tv_usec; /* we will use this to vary speed of rot */ + + if (loop) + { + for (i = 0; i < w; i++) + { + imlib_render_image_on_drawable_at_size(im, disp, win, vis, + cm, + depth, + aa, dith, blend, + 0, 0, + w - i, (((w - i) * h) / w), + NULL, IMLIB_OP_COPY); + pixels += (w - i) * (((w - i) * h) / w); + } + } + else if (blendtest) + { + Imlib_Image im2; + + im2 = imlib_create_image(w, h); + w = imlib_image_get_width(im); + h = imlib_image_get_height(im); + for (i = 0; i < 1024; i++) + { + imlib_blend_image_onto_image(im, im2, + 0, 0, 0, + 0, 0, w, h, + 0, 0, w, h, NULL, IMLIB_OP_COPY); + pixels += (w * h); + } + } + else if (interactive) + { + int wo, ho, px, py, first = 1; + Imlib_Image im_bg, im_sh1, im_sh2, im_sh3, im_ic[13], im_tmp; + /* Imlib_Border border; */ + Imlib_Updates up = NULL; + int x, y, /* dum, */ i, j; + /* + unsigned int dui; + Window rt; + */ + XEvent ev; + Imlib_Font fn=NULL; + + /* "ARIAL/30" "COMIC/30" "IMPACT/30" "Prole/30" "Proteron/30" */ + /* "TIMES/30" "badacid/30" "bajoran/30" "bigfish/30" */ + imlib_add_path_to_font_path("./ttfonts"); + if (fon) + { + fn = imlib_load_font(fon); + if (!fn) + fon = NULL; + } + + if (file) + im_bg = imlib_load_image(file); + else + im_bg = imlib_load_image("test_images/bg.png"); + im_tmp = imlib_clone_image(im_bg); + w = imlib_image_get_width(im_bg); + h = imlib_image_get_height(im_bg); + wo = w; + ho = h; + w *= 1; + h *= 1; + XResizeWindow(disp, win, w, h); + XSync(disp, False); + im = imlib_create_image(w, h); + imlib_set_cache_size(4 * 1024 * 1024); + i = 0; + up = imlib_update_append_rect(up, 0, 0, w, h); + x = -9999; + y = -9999; + while (1) + { + px = x; + py = y; + do + { + XNextEvent(disp, &ev); + switch (ev.type) + { + case Expose: + up = imlib_update_append_rect(up, + ev.xexpose.x, ev.xexpose.y, + ev.xexpose.width, ev.xexpose.height); + break; + case ButtonRelease: + exit(0); + break; + case MotionNotify: + x = ev.xmotion.x; + y = ev.xmotion.y; + default: + break; + + } + } + while (XPending(disp)); + + im_sh1 = imlib_load_image("test_images/sh1.png"); + im_sh2 = imlib_load_image("test_images/sh2.png"); + im_sh3 = imlib_load_image("test_images/sh3.png"); + im_ic[0] = imlib_load_image("test_images/audio.png"); + im_ic[1] = imlib_load_image("test_images/folder.png"); + im_ic[2] = imlib_load_image("test_images/mush.png"); + im_ic[3] = imlib_load_image("test_images/paper.png"); + im_ic[4] = imlib_load_image("test_images/mail.png"); + im_ic[5] = imlib_load_image("test_images/calc.png"); + im_ic[6] = imlib_load_image("test_images/cal.png"); + im_ic[7] = imlib_load_image("test_images/stop.png"); + im_ic[8] = imlib_load_image("test_images/globe.png"); + im_ic[9] = imlib_load_image("test_images/menu.png"); + im_ic[10] = imlib_load_image("test_images/tnt.png"); + im_ic[11] = imlib_load_image("test_images/bulb.png"); + im_ic[12] = imlib_load_image("test_images/lock.png"); + + if (first) + { + imlib_blend_image_onto_image(im_bg, im, + 0, 0, 0, + 0, 0, w, h, + 0, 0, w, h, + NULL, IMLIB_OP_COPY); + first = 0; + } + { + Imlib_Updates uu; + Imlib_Color col; + + col.red = 255; + col.green = 255; + col.blue = 255; + col.alpha = 255; + uu = imlib_image_draw_line(im, 200, 200, x, y, &col, + IMLIB_OP_COPY, 1); + up = imlib_updates_append_updates(up, uu); + } + { + Imlib_Color_Range rg = NULL; + + if (!rg) + { + Imlib_Color cl; + + rg = imlib_create_color_range(); + cl.red = 255; cl.green = 255; cl.blue = 255; cl.alpha = 255; + imlib_add_color_to_color_range(rg, &cl, 0); + cl.red = 255; cl.green = 255; cl.blue = 160; cl.alpha = 255; + imlib_add_color_to_color_range(rg, &cl, 1); + cl.red = 255; cl.green = 160; cl.blue = 120; cl.alpha = 255; + imlib_add_color_to_color_range(rg, &cl, 1); + cl.red = 100; cl.green = 80; cl.blue = 100; cl.alpha = 255; + imlib_add_color_to_color_range(rg, &cl, 1); + cl.red = 32; cl.green = 48; cl.blue = 80; cl.alpha = 255; + imlib_add_color_to_color_range(rg, &cl, 1); + } + imlib_image_fill_color_range_rectangle(im, 60, 60, 256, 256, + rg, (double)x, + IMLIB_OP_RESHADE); + up = imlib_update_append_rect(up, 60, 60, 256, 256); + } + if (fon) + { + int retw, reth, ty, nx, ny, cx, cy, cw, ch, cp; + + if (!str) + str = "This is a test string"; + ty = 50; + for (i = 0; i < 16; i++) + { + Imlib_Color cl; + int al; + + al = (15 - i) * 16; + if (al > 255) + al = 255; + cl.red = 255; + cl.green = 255; + cl.blue = 255; + cl.alpha = al; + + imlib_text_draw_with_return_metrics(fn, im, 50, ty, + IMLIB_TEXT_TO_RIGHT, + str, &cl, + IMLIB_OP_COPY, + &retw, &reth, + &nx, &ny); +/* up = imlib_update_append_rect(up, px, ty + (py - y), retw, reth);*/ + up = imlib_update_append_rect(up, 50, ty, retw, reth); + ty += ny; + } + cp = imlib_text_get_index_and_location(fn, + IMLIB_TEXT_TO_RIGHT, + str, x - 50, y - 50, + &cx, &cy, &cw, &ch); + if (cp >= 0) + { +#if 0 + GC gc; + XGCValues gcv; + + gc = XCreateGC(disp, win, 0, &gcv); + XSetForeground(disp, gc, 0xffff); + XDrawRectangle(disp, win, gc, 50 + cx, 50 + cy, cw, ch); + XFreeGC(disp, gc); +#endif + printf("over char %c\n", str[cp]); + } + } + if ((px != x) || (py != y)) + { + for (j = 0; j < 32; j++) + { + for (i = 0; i < 32; i++) + { + int ic, iw, ih, ww, hh; + + ic = ((j * 32) + i) % 13; + iw = imlib_image_get_width(im_ic[ic]); + ih = imlib_image_get_height(im_ic[ic]); + ww = iw; + hh = ih; + up = imlib_update_append_rect(up, x + (i * iw * 2), + y + (j * ih * 2), ww, hh); + up = imlib_update_append_rect(up, px + (i * iw * 2), + py + (j * ih * 2), ww, hh); + imlib_blend_image_onto_image(im_ic[ic], im, + aa, blend, 0, + 0, 0, iw, ih, + x + (i * iw * 2), + y + (j * ih * 2), + ww, hh, + NULL, IMLIB_OP_COPY); + } + } + } + imlib_blend_image_onto_image(im_sh1, im, + aa, blend, 0, + 0, 0, 50, 50, + 0, 0, 50, 50, NULL, IMLIB_OP_COPY); + up = imlib_update_append_rect(up, 0, 0, 50, 50); + imlib_blend_image_onto_image(im_sh2, im, + aa, blend, 0, + 0, 0, 50, 50, + 50, 0, w - 50, 50, NULL, IMLIB_OP_COPY); + up = imlib_update_append_rect(up, 50, 0, w - 50, 50); + imlib_blend_image_onto_image(im_sh3, im, + aa, blend, 0, + 0, 0, 50, 50, + 0, 50, 50, h - 50, NULL, IMLIB_OP_COPY); + up = imlib_update_append_rect(up, 0, 50, 50, h - 50); + up = imlib_updates_merge_for_rendering(up, w, h); + imlib_render_image_updates_on_drawable(im, up, disp, win, vis, cm, + depth, dith, 0, 0, NULL); + imlib_save_image(im, "out.png"); + if ((px != x) || (py != y)) + { + Imlib_Updates u; + + u = up; + while (u) + { + int ux, uy, uw, uh; + + imlib_updates_get_coordinates(u, &ux, &uy, &uw, &uh); + imlib_blend_image_onto_image(im_bg, im, + 0, 0, 0, + ux, uy, uw, uh, + ux, uy, uw, uh, + NULL, IMLIB_OP_COPY); + u = imlib_updates_get_next(u); + } + } +#if 0 + { + Imlib_Updates up2; + GC gc; + XGCValues gcv; + + gc = XCreateGC(disp, win, 0, &gcv); + XSetForeground(disp, gc, 0xffff); + up2 = up; + while(up2) + { + int ux, uy, uw, uh; + + imlib_updates_get_coordinates(up2, &ux, &uy, &uw, &uh); + XDrawRectangle(disp, win, gc, ux, uy, uw - 1, uh - 1); + up2 = imlib_updates_get_next(up2); + } + XFreeGC(disp, gc); + } +#endif + imlib_updates_free(up); + up = NULL; + imlib_free_image(im_sh1); + imlib_free_image(im_sh2); + imlib_free_image(im_sh3); + imlib_free_image(im_ic[0]); + imlib_free_image(im_ic[1]); + imlib_free_image(im_ic[2]); + imlib_free_image(im_ic[3]); + } + } + else + { + for (i = 0; i < w; i++) + { + imlib_render_image_on_drawable_at_size(im, disp, win, vis, + cm, + depth, + aa, dith, blend, + 0, 0, + w, h, + NULL, IMLIB_OP_COPY); + pixels += w * h; + } + } + gettimeofday(&timev,NULL); + sec2=(int)timev.tv_sec; /* and stores it so we can time outselves */ + usec2=(int)timev.tv_usec; /* we will use this to vary speed of rot */ + printf("done\n"); + i = sec2 - sec1; + j = usec2 - usec1; + while (j < 0) + { + i++; + j += 1000000; + } + sec = (double)i + ((double)j / 1000000); + printf("%3.3f sec\n", sec); + printf("%3.3f Mpixels / sec\n", (double)(pixels) / (sec * 1000000)); + return 0; +} +#else +int main (int argc, char **argv) +{ + Window win; +/* + Pixmap back, scratch; + GC gc; + */ + XGCValues gcv; + Imlib_Image *im = NULL, tmp, grab; + int x, y, start, i, w, h; + Visual *vis; + int depth; + int dith = 0; + int blend = 0; + DATA32 *data1, *data2; + Colormap cm; + + start = 1; + x = 0; + y = 0; + for (i = 1; i < argc; i++) + { + if (!strcmp(argv[i], "-blend")) + blend = 1; + else if (!strcmp(argv[i], "-dither")) + dith = 1; + else if (!strcmp(argv[i], "-pos")) + { + i++; + x = atoi(argv[i++]); + y = atoi(argv[i]); + } + else + { + start = i; + i = argc; + } + } + disp = XOpenDisplay(NULL); + printf("load\n"); + im = malloc(sizeof(Imlib_Image) * (argc - start)); + for (i = start; i < argc; i++) + im[i - start] = imlib_load_image(argv[i]); + win = DefaultRootWindow(disp); + vis = DefaultVisual(disp, DefaultScreen(disp)); + depth = DefaultDepth(disp, DefaultScreen(disp)); + cm = DefaultColormap(disp, DefaultScreen(disp)); + __imlib_SetMaxXImageCount(disp, 0); + XSync(disp, False); + printf("init\n"); + w = imlib_image_get_width(im[0]); + h = imlib_image_get_height(im[0]); +/* + gc = XCreateGC(disp, win, 0, &gcv); + back = XCreatePixmap(disp, win, w, h, depth); + scratch = XCreatePixmap(disp, win, w, h, depth); + XCopyArea(disp, win, back, gc, x, y, w, h, 0, 0); + XCopyArea(disp, back, scratch, gc, 0, 0, w, h, 0, 0); + */ + grab = imlib_create_image_from_drawable(disp, win, 0, vis, cm, depth, + x, y, w, h); + tmp = imlib_clone_image(grab); + + data1 = imlib_image_get_data(grab); + data2 = imlib_image_get_data(tmp); + + printf("animate\n"); + for(;;) + { + for (i = 0; i < (argc - start); i++) + { +/* imlib_blend_image_onto_image(im[i], tmp, 0, 0, w, h, 0, 0, w, h);*/ + imlib_render_image_on_drawable(im[i], disp, win, vis, cm, depth, + dith, 0, + x, y); + memcpy(data2, data1, w * h *sizeof(DATA32)); + } + } + return 0; +} +#endif diff --git a/test/test_images/audio.png b/test/test_images/audio.png Binary files differnew file mode 100644 index 0000000..01c0611 --- /dev/null +++ b/test/test_images/audio.png diff --git a/test/test_images/bg.png b/test/test_images/bg.png Binary files differnew file mode 100644 index 0000000..3ca990a --- /dev/null +++ b/test/test_images/bg.png diff --git a/test/test_images/bulb.png b/test/test_images/bulb.png Binary files differnew file mode 100644 index 0000000..757e599 --- /dev/null +++ b/test/test_images/bulb.png diff --git a/test/test_images/cal.png b/test/test_images/cal.png Binary files differnew file mode 100644 index 0000000..889f329 --- /dev/null +++ b/test/test_images/cal.png diff --git a/test/test_images/calc.png b/test/test_images/calc.png Binary files differnew file mode 100644 index 0000000..812237b --- /dev/null +++ b/test/test_images/calc.png diff --git a/test/test_images/folder.png b/test/test_images/folder.png Binary files differnew file mode 100644 index 0000000..9a32d03 --- /dev/null +++ b/test/test_images/folder.png diff --git a/test/test_images/globe.png b/test/test_images/globe.png Binary files differnew file mode 100644 index 0000000..b52af4b --- /dev/null +++ b/test/test_images/globe.png diff --git a/test/test_images/lock.png b/test/test_images/lock.png Binary files differnew file mode 100644 index 0000000..548b4e9 --- /dev/null +++ b/test/test_images/lock.png diff --git a/test/test_images/mail.png b/test/test_images/mail.png Binary files differnew file mode 100644 index 0000000..5247b3f --- /dev/null +++ b/test/test_images/mail.png diff --git a/test/test_images/menu.png b/test/test_images/menu.png Binary files differnew file mode 100644 index 0000000..ab5d833 --- /dev/null +++ b/test/test_images/menu.png diff --git a/test/test_images/mush.png b/test/test_images/mush.png Binary files differnew file mode 100644 index 0000000..0a4b0d0 --- /dev/null +++ b/test/test_images/mush.png diff --git a/test/test_images/paper.png b/test/test_images/paper.png Binary files differnew file mode 100644 index 0000000..f6bbc6d --- /dev/null +++ b/test/test_images/paper.png diff --git a/test/test_images/sh1.png b/test/test_images/sh1.png Binary files differnew file mode 100644 index 0000000..c7dcb66 --- /dev/null +++ b/test/test_images/sh1.png diff --git a/test/test_images/sh2.png b/test/test_images/sh2.png Binary files differnew file mode 100644 index 0000000..e4dee7a --- /dev/null +++ b/test/test_images/sh2.png diff --git a/test/test_images/sh3.png b/test/test_images/sh3.png Binary files differnew file mode 100644 index 0000000..f15b892 --- /dev/null +++ b/test/test_images/sh3.png diff --git a/test/test_images/stop.png b/test/test_images/stop.png Binary files differnew file mode 100644 index 0000000..cc7830e --- /dev/null +++ b/test/test_images/stop.png diff --git a/test/test_images/tnt.png b/test/test_images/tnt.png Binary files differnew file mode 100644 index 0000000..14e2266 --- /dev/null +++ b/test/test_images/tnt.png diff --git a/test/ttfonts/cinema.ttf b/test/ttfonts/cinema.ttf Binary files differnew file mode 100644 index 0000000..326a820 --- /dev/null +++ b/test/ttfonts/cinema.ttf diff --git a/test/ttfonts/grunge.ttf b/test/ttfonts/grunge.ttf Binary files differnew file mode 100644 index 0000000..deba7da --- /dev/null +++ b/test/ttfonts/grunge.ttf diff --git a/test/ttfonts/morpheus.ttf b/test/ttfonts/morpheus.ttf Binary files differnew file mode 100644 index 0000000..46e19a2 --- /dev/null +++ b/test/ttfonts/morpheus.ttf diff --git a/test/ttfonts/notepad.ttf b/test/ttfonts/notepad.ttf Binary files differnew file mode 100644 index 0000000..4e165ce --- /dev/null +++ b/test/ttfonts/notepad.ttf |