diff -Naur algol68g-2.8.4-old/source/plotutils.c algol68g-2.8.4-new/source/plotutils.c --- algol68g-2.8.4-old/source/plotutils.c 2016-10-11 18:14:48.000000000 -0300 +++ algol68g-2.8.4-new/source/plotutils.c 2021-07-30 02:42:29.762627511 -0300 @@ -1026,10 +1026,10 @@ X_COORD (&DEVICE (f)) = 0; Y_COORD (&DEVICE (f)) = 0; return (PLOTTER (&DEVICE (f))); - } else if (!strcmp (device_type, "gif")) { -/*------------------------------------+ -| Supported plotter type - pseudo GIF | -+------------------------------------*/ + } else if (!strcmp (device_type, "gif") || !strcmp (device_type, "png")) { +/*-------------------------------------------+ +| Supported plotter type - pseudo GIF or PNG | ++-------------------------------------------*/ char *z = DEREF (char, &A68_PAGE_SIZE (&DEVICE (f))), size[BUFFER_SIZE]; /* Establish page size */ if (!scan_int (&z, &(WINDOW_X_SIZE (&DEVICE (f))))) { @@ -1067,7 +1067,7 @@ (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "BITMAPSIZE", size); (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "BG_COLOR", (void *) "black"); (void) pl_setplparam (PLOTTER_PARAMS (&DEVICE (f)), "GIF_ANIMATION", (void *) "no"); - PLOTTER (&DEVICE (f)) = pl_newpl_r ("gif", NULL, STREAM (&DEVICE (f)), stderr, PLOTTER_PARAMS (&DEVICE (f))); + PLOTTER (&DEVICE (f)) = pl_newpl_r (device_type, NULL, STREAM (&DEVICE (f)), stderr, PLOTTER_PARAMS (&DEVICE (f))); if (PLOTTER (&DEVICE (f)) == NULL) { diagnostic_node (A68_RUNTIME_ERROR, p, ERROR_DEVICE_CANNOT_OPEN); exit_genie (p, A68_RUNTIME_ERROR);