diff -ur dvipng-1.15.orig/pk.c dvipng-1.15/pk.c --- dvipng-1.15.orig/pk.c 2015-03-02 20:33:56.000000000 +0100 +++ dvipng-1.15/pk.c 2015-03-03 13:09:32.000000000 +0100 @@ -346,8 +346,13 @@ /* Read char definitions */ position = skip_specials(position); while (*position != PK_POST) { +#ifdef _WIN64 + DEBUG_PRINT(DEBUG_PK,("\n @%I64d PK CHAR:\t%d", + (__int64)position - (__int64)tfontp->fmmap.data, *position)); +#else DEBUG_PRINT(DEBUG_PK,("\n @%ld PK CHAR:\t%d", (long)position - (long)tfontp->fmmap.data, *position)); +#endif if ((tcharptr = malloc(sizeof(struct char_entry))) == NULL) Fatal("cannot allocate space for char_entry"); tcharptr->flag_byte = *position; diff -ur dvipng-1.15.orig/special.c dvipng-1.15/special.c --- dvipng-1.15.orig/special.c 2015-03-03 13:04:09.000000000 +0100 +++ dvipng-1.15/special.c 2015-03-03 13:11:16.000000000 +0100 @@ -214,7 +214,7 @@ savestdout = _dup(fileno(stdout)); _dup2(pngpipe[WRITE_END], fileno(stdout)); if ((hchild= - (HANDLE)spawnlp(_P_NOWAIT, GS_PATH, GS_PATH, device, resolution, + (HANDLE)_spawnlp(_P_NOWAIT, GS_PATH, GS_PATH, device, resolution, "-dBATCH", "-dNOPAUSE", "-q", "-sOutputFile=-", "-dTextAlphaBits=4", "-dGraphicsAlphaBits=4", (option_flags & NO_GSSAFER) ? "-": "-dSAFER", diff -ur dvipng-1.15.orig/tfm.c dvipng-1.15/tfm.c --- dvipng-1.15.orig/tfm.c 2015-03-02 20:33:56.000000000 +0100 +++ dvipng-1.15/tfm.c 2015-03-03 13:29:02.000000000 +0100 @@ -55,8 +55,13 @@ c=bc; position=(unsigned char*)fmmap.data+24+lh*4; while(c <= ec) { +#ifdef _WIN64 + DEBUG_PRINT(DEBUG_TFM,("\n@%I64d TFM METRICS:\t", + (__int64)position - (__int64)fmmap.data)); +#else DEBUG_PRINT(DEBUG_TFM,("\n@%ld TFM METRICS:\t", (long)position - (long)fmmap.data)); +#endif if ((tcharptr=malloc(sizeof(struct char_entry)))==NULL) Fatal("cannot allocate memory for TFM char entry"); tcharptr->data=NULL; diff -ur dvipng-1.15.orig/vf.c dvipng-1.15/vf.c --- dvipng-1.15.orig/vf.c 2015-03-02 20:33:56.000000000 +0100 +++ dvipng-1.15/vf.c 2015-03-03 13:28:26.000000000 +0100 @@ -79,9 +79,15 @@ /* Read font definitions */ position += 8; while(*position >= FNT_DEF1 && *position <= FNT_DEF4) { +#ifdef _WIN64 + DEBUG_PRINT(DEBUG_VF,("\n @%I64d VF:\t%s", + (__int64)position - (__int64)tfontp->fmmap.data, + dvi_commands[*position])); +#else DEBUG_PRINT(DEBUG_VF,("\n @%ld VF:\t%s", (long)position - (long)tfontp->fmmap.data, dvi_commands[*position])); +#endif FontDef(position,tfontp); length = dvi_commandlength[*position]; position += length + *(position + length-1) + *(position+length-2); @@ -94,8 +100,13 @@ tfontp->defaultfont=tfontnump->k; /* Read char definitions */ while(*position < FNT_DEF1) { +#ifdef _WIN64 + DEBUG_PRINT(DEBUG_VF,("\n@%I64d VF CHAR:\t", + (__int64)position - (__int64)tfontp->fmmap.data)); +#else DEBUG_PRINT(DEBUG_VF,("\n@%ld VF CHAR:\t", (long)position - (long)tfontp->fmmap.data)); +#endif if ((tcharptr=malloc(sizeof(struct char_entry)))==NULL) Fatal("cannot allocate memory for VF char entry"); switch (*position) {