gdos pdf driver

Hardware, coding, music, graphic and various applications

Moderators: Mug UK, [ProToS], lp, moondog/.tSCc., Moderator Team

User avatar
wongck
Ultimate Atarian
Ultimate Atarian
Posts: 12882
Joined: Sat May 03, 2008 2:09 pm
Location: Far East
Contact:

gdos pdf driver

Post by wongck »

So it is nearly 2 years since the idea of creating a gdos pdf driver.

Currently the driver exist but unfortunately a technical blocking points hinder it development further.
So I am releasing it as a beta, and it can only do text output now.
Because of the blocking point, there seems no point in moving further.

If you're interested in trying it, get it from my Probe House Software download area.
Creates PDF document from your fav Atari program.... well almost.

many thanks to Mike Fulton for his great blog and writings on VDI and other good stuff (past and present articles). You can visit his blog at http://www.fultonsoft.com and also you guys here - Dal, mfro, gstoll, Faucon2001 and other who chip on this topic.
My Stuff: FB/Falcon CT63 CTPCI ATI RTL8139 USB 512MB 30GB HDD CF HxC_SD/ TT030 68882 4+32MB 520MB Nova/ 520STFM 4MB Tos206 SCSI
Shared SCSI Bus:ScsiLink ethernet, 9GB HDD,SD-reader @ http://phsw.atari.org
My Atari stuff for sale - click here for list

joska
Hardware Guru
Hardware Guru
Posts: 4608
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: gdos pdf driver

Post by joska »

Very interesting! What exactly is blocking further development?

Edit: I see, lack of documentation. Have you talked to shoggoth here about this? He wrote the NVDI driver for the SuperVidel.
Last edited by joska on Fri Nov 27, 2015 5:31 pm, edited 1 time in total.
Jo Even

VanillaMiNT - Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64

peterlane
Atari maniac
Atari maniac
Posts: 94
Joined: Tue Mar 05, 2013 2:44 pm
Contact:

Re: gdos pdf driver

Post by peterlane »

wongck wrote:So it is nearly 2 years since the idea of creating a gdos pdf driver.

Currently the driver exist but unfortunately a technical blocking points hinder it development further.
So I am releasing it as a beta, and it can only do text output now.
Because of the blocking point, there seems no point in moving further.

If you're interested in trying it, get it from my Probe House Software download area.
Creates PDF document from your fav Atari program.... well almost.

many thanks to Mike Fulton for his great blog and writings on VDI and other good stuff (past and present articles). You can visit his blog at http://www.fultonsoft.com and also you guys here - Dal, mfro, gstoll, Faucon2001 and other who chip on this topic.
This looks very interesting wongck. I have also been enjoying Mike Fulton's series of articles.

I've been slowly putting together some programs to assist with doing writing, and an ability to output to pdf would be very useful. I'll certainly take a look, but probably not until into the new year.
Peter Lane
Firebee | STE (4Mb, TOS 2.06)
http://peterlane.info/firebee.html

User avatar
wongck
Ultimate Atarian
Ultimate Atarian
Posts: 12882
Joined: Sat May 03, 2008 2:09 pm
Location: Far East
Contact:

Re: gdos pdf driver

Post by wongck »

joska wrote:Very interesting! What exactly is blocking further development?

Edit: I see, lack of documentation. Have you talked to shoggoth here about this? He wrote the NVDI driver for the SuperVidel.
yes there is lack of documentation on NVDI interfacing basically.
Both Mike & me thinks that NVDI takes care of all the text output, it converts to raster (which what MS Windows does) which is great.
But if a program does a vs_clip() call, it will then clip the text output to a small area.
From the tst.c program I include, you can see that effect, by commenting/uncommenting the vs_clip() call.
Happens even when you set clipping off immediately.
My Stuff: FB/Falcon CT63 CTPCI ATI RTL8139 USB 512MB 30GB HDD CF HxC_SD/ TT030 68882 4+32MB 520MB Nova/ 520STFM 4MB Tos206 SCSI
Shared SCSI Bus:ScsiLink ethernet, 9GB HDD,SD-reader @ http://phsw.atari.org
My Atari stuff for sale - click here for list

User avatar
wongck
Ultimate Atarian
Ultimate Atarian
Posts: 12882
Joined: Sat May 03, 2008 2:09 pm
Location: Far East
Contact:

Re: gdos pdf driver

Post by wongck »

peterlane wrote: This looks very interesting wongck. I have also been enjoying Mike Fulton's series of articles.

I've been slowly putting together some programs to assist with doing writing, and an ability to output to pdf would be very useful. I'll certainly take a look, but probably not until into the new year.
Making a PDF is not an issue, there so much information on it,
It's the Atari side of things that is the issue.
My Stuff: FB/Falcon CT63 CTPCI ATI RTL8139 USB 512MB 30GB HDD CF HxC_SD/ TT030 68882 4+32MB 520MB Nova/ 520STFM 4MB Tos206 SCSI
Shared SCSI Bus:ScsiLink ethernet, 9GB HDD,SD-reader @ http://phsw.atari.org
My Atari stuff for sale - click here for list

User avatar
wongck
Ultimate Atarian
Ultimate Atarian
Posts: 12882
Joined: Sat May 03, 2008 2:09 pm
Location: Far East
Contact:

Re: gdos pdf driver

Post by wongck »

:megaphone:
I would want to add that when the "why does vs_clip() call parameter of entire work area not respected by NVDI internals" is solved, you will be able to do very nice complete page of PDF up to 1200 DPI. I have tried at various fonts and special effects, looks fantastic. :D

I will PM shoggoth, thanks Jo.
My Stuff: FB/Falcon CT63 CTPCI ATI RTL8139 USB 512MB 30GB HDD CF HxC_SD/ TT030 68882 4+32MB 520MB Nova/ 520STFM 4MB Tos206 SCSI
Shared SCSI Bus:ScsiLink ethernet, 9GB HDD,SD-reader @ http://phsw.atari.org
My Atari stuff for sale - click here for list

User avatar
shoggoth
Nature
Nature
Posts: 1001
Joined: Tue Aug 01, 2006 9:21 am
Location: Halmstad, Sweden
Contact:

Re: gdos pdf driver

Post by shoggoth »

This is indeed a very interesting project, a milestone even.

PM received.
Ain't no space like PeP-space.

User avatar
lp
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2488
Joined: Wed Nov 12, 2003 11:09 pm
Location: GFA Headquarters
Contact:

Re: gdos pdf driver

Post by lp »

Sorry to hear this was halted, very cool idea. One could export a PDF directly to the host filesystem from am emulator. That would be very handy. Stupid question, but wouldn't the Atari VDI sources floating around on the internet yield the API details for these drivers? Or perhaps that part is missing from these sources?

User avatar
wongck
Ultimate Atarian
Ultimate Atarian
Posts: 12882
Joined: Sat May 03, 2008 2:09 pm
Location: Far East
Contact:

Re: gdos pdf driver

Post by wongck »

lp wrote:Stupid question, but wouldn't the Atari VDI sources floating around on the internet yield the API details for these drivers? Or perhaps that part is missing from these sources?
Nothing to do with the Atari VDI, those worked perfectly as far as I can see.
If you try the C test source code I included in the beta, you can play around with the clipping area coordinates and see that it is working as expected.
(I am sure you can hammer out a GFA basic equivalent).
The issue is much of how NVDI behaves when it encounters a vs_clip() and what it does to it's internal text rendering engine. The outputs is just truncated text in both x and y direction.
My Stuff: FB/Falcon CT63 CTPCI ATI RTL8139 USB 512MB 30GB HDD CF HxC_SD/ TT030 68882 4+32MB 520MB Nova/ 520STFM 4MB Tos206 SCSI
Shared SCSI Bus:ScsiLink ethernet, 9GB HDD,SD-reader @ http://phsw.atari.org
My Atari stuff for sale - click here for list

User avatar
calimero
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2324
Joined: Thu Sep 15, 2005 10:01 am
Location: STara Pazova, Serbia
Contact:

Re: gdos pdf driver

Post by calimero »

Souce code for NVDI is lost or it is not available? IIRC Andreas Kromke told that he has MagiC source but that it is in assembler and it is not commented so he will not release because of that. What is about NVDI source?

If you find source of some printer driver for NVDI, could it be from any help?
using Atari since 1986.http://wet.atari.orghttp://milan.kovac.cc/atari/software/ ・ Atari Falcon030/CT63/SV ・ Atari STe ・ Atari Mega4/MegaFile30/SM124 ・ Amiga 1200/PPC ・ Amiga 500 ・ C64 ・ ZX Spectrum ・ RPi ・ MagiC! ・ MiNT 1.18 ・ OS X

User avatar
Mikefulton
Captain Atari
Captain Atari
Posts: 169
Joined: Sun Nov 29, 2015 10:27 am

Re: gdos pdf driver

Post by Mikefulton »

Wong, please email me the latest driver.c file so I can look at the clipping stuff since you changed it.

My two cents on the situation is that the driver is not handling something as expected, and NVDI is either picking up garbage for the clipping rectangle, or not turning it off at some point when it should.

However, there are a lot of other issues besides that. Most VDI functions are still just stubbed out in the driver, and all of the text stuff being output by NVDI is being converted to a series of line segments for the character outlines. So the resulting PDF doesn't actually have text in it, just lines. At this point, we dunno if handling all the text functions is something NVDI is doing because the driver is still incomplete or if it always does it that way.

I think it would be best to get everything working with vanilla VDI and GDOS first, rather than NVDI, but it's admittedly a lot of work to handle all of the text stuff in the driver just to get to the point where it might produce some recognizable output.

User avatar
wongck
Ultimate Atarian
Ultimate Atarian
Posts: 12882
Joined: Sat May 03, 2008 2:09 pm
Location: Far East
Contact:

Re: gdos pdf driver

Post by wongck »

I think it is just the way NVDI is handling the text portion, what they are doing IMHO is excellent, it takes away the need of having to handle all the fonts face inside the driver.
(This was exactly what MS did for Win95, it can output any font with special effects on any printer).

If I use Atari Works, load up some text and underline all the text inside Atari Works. Set the PDF driver to high DPI and print this out using the PDF driver, no prizes for guessing what's the output will be looking like....

It's does the square truncated text as expected but it will also renders all the underlines... you can easily match the underlines to what you see on Atari Works.... so basically it just NVDI refusing to render the text portion.
My Stuff: FB/Falcon CT63 CTPCI ATI RTL8139 USB 512MB 30GB HDD CF HxC_SD/ TT030 68882 4+32MB 520MB Nova/ 520STFM 4MB Tos206 SCSI
Shared SCSI Bus:ScsiLink ethernet, 9GB HDD,SD-reader @ http://phsw.atari.org
My Atari stuff for sale - click here for list

User avatar
wongck
Ultimate Atarian
Ultimate Atarian
Posts: 12882
Joined: Sat May 03, 2008 2:09 pm
Location: Far East
Contact:

Re: gdos pdf driver

Post by wongck »

:D Thanks Mike, It's alway good to have another pair of eyes to see where it went wrong.
My Stuff: FB/Falcon CT63 CTPCI ATI RTL8139 USB 512MB 30GB HDD CF HxC_SD/ TT030 68882 4+32MB 520MB Nova/ 520STFM 4MB Tos206 SCSI
Shared SCSI Bus:ScsiLink ethernet, 9GB HDD,SD-reader @ http://phsw.atari.org
My Atari stuff for sale - click here for list

User avatar
Mikefulton
Captain Atari
Captain Atari
Posts: 169
Joined: Sun Nov 29, 2015 10:27 am

Re: gdos pdf driver

Post by Mikefulton »

Wong, what NVDI is doing is exactly the right way to render outline fonts to a bitmap. The problem comes when your target isn't a bitmap. Like for example when it's a PDF.

When someone loads a PDF made this way and tries to copy the text, they'll discover there is none. Just a bunch of little horizontal lines.

User avatar
wongck
Ultimate Atarian
Ultimate Atarian
Posts: 12882
Joined: Sat May 03, 2008 2:09 pm
Location: Far East
Contact:

Re: gdos pdf driver

Post by wongck »

Mikefulton wrote: When someone loads a PDF made this way and tries to copy the text, they'll discover there is none. Just a bunch of little horizontal lines.
Yes, exactly the reason why we need to have 300DPI working. That's the resolution the OCR on Adobe Acrobat needs to be to recognise text.
My Stuff: FB/Falcon CT63 CTPCI ATI RTL8139 USB 512MB 30GB HDD CF HxC_SD/ TT030 68882 4+32MB 520MB Nova/ 520STFM 4MB Tos206 SCSI
Shared SCSI Bus:ScsiLink ethernet, 9GB HDD,SD-reader @ http://phsw.atari.org
My Atari stuff for sale - click here for list

User avatar
Mikefulton
Captain Atari
Captain Atari
Posts: 169
Joined: Sun Nov 29, 2015 10:27 am

Re: gdos pdf driver

Post by Mikefulton »

My point is, the right way to do it is to output text, not lines. But like I said, it's more work to do it the right way.

User avatar
Frank B
Atari God
Atari God
Posts: 1025
Joined: Wed Jan 04, 2006 1:28 am
Location: Boston

Re: gdos pdf driver

Post by Frank B »

Mikefulton wrote:My point is, the right way to do it is to output text, not lines. But like I said, it's more work to do it the right way.
Kindof off topic but is this your blog ? http://www.fultonsoft.com/ ;) If so it's a fantastic read. More please :)

Faucon2001
Atari Super Hero
Atari Super Hero
Posts: 775
Joined: Sat Oct 26, 2013 11:19 pm
Location: France
Contact:

Re: gdos pdf driver

Post by Faucon2001 »

Hi Wongck,

Great job. I remember the first discussions on printing a few years ago :-)

On my side I have solved my printing issue under Aranym using PCL NVDI drivers printing to file into an host folder, and on the host side an INCRON service watching this folder and then sending this file to ghostPCL to convert it into pdf and then sending it to CUPS. It's working great at any resolution with any printer... BUT it's a workaround only for Aranym.

One question (remember I am not a developer) : if I understood your driver is outputting a pdf vector file. Would it be easier to output a raster pdf file instead, at least as a first approach? It's less efficient in term of file size but it's what is doing a regular GDOS/NVDI driver.

I hope that you'll get through these blocking issues as it is really a big step froward.

Cheers,
Philippe

Firebee, Falcon, STE, Aranym Box, Hatari Pi Box.
My music http://www.philippeworld.net/
My photography http://phil-67.deviantart.com/
EasyAraMint, BeeKey and BeePi https://sites.google.com/site/beebox68k/

User avatar
wongck
Ultimate Atarian
Ultimate Atarian
Posts: 12882
Joined: Sat May 03, 2008 2:09 pm
Location: Far East
Contact:

Re: gdos pdf driver

Post by wongck »

Faucon2001 wrote: Great job. I remember the first discussions on printing a few years ago :-)

On my side I have solved my printing issue under Aranym using PCL NVDI drivers printing to file into an host folder, and on the host side an INCRON service watching this folder and then sending this file to ghostPCL to convert it into pdf and then sending it to CUPS. It's working great at any resolution with any printer... BUT it's a workaround only for Aranym.

One question (remember I am not a developer) : if I understood your driver is outputting a pdf vector file. Would it be easier to output a raster pdf file instead, at least as a first approach? It's less efficient in term of file size but it's what is doing a regular GDOS/NVDI driver.

I hope that you'll get through these blocking issues as it is really a big step froward.

Cheers,
Ha ha.... yes seems like years when the idea first came about.

Your printing solution will work for any MINT setup with networking and NFS or Sharitylight. Because to the Atari it will be writing to a local-like drive location but is actually a shared folder on the remote host. Nothing special needed on the application side. Look at my site for mounting a SMB share on the Atari or just use normal NFS for Linux.

For Windows attached printer, one can also run the Port 9100 server on Windows and just use PHERP to monitor the location where NVDI spools the PCL file and PHERP will just sent using port 9100 to Windows. Of course the original LPD for Windows should work better in this case as LPD is from MS while Port 9100 server is from 3rd party.

If your printer does network, just enable port 9100 and use PHERP. This is the cleanest as many wireless printers are in the market cheaply nowadays. Avoid the whole host intermediate thing. Sure, the PCL from NVDI is not PCL5 but it's mostly downward compatible and ought to be sufficient for normal use. But I am sure quality output from setup is much better. :angel:

So I see many solution for printing if you have network. :mrgreen:

Back to topic... I hope a solution will be found, both Mike & Pep have given some idea and information.
My Stuff: FB/Falcon CT63 CTPCI ATI RTL8139 USB 512MB 30GB HDD CF HxC_SD/ TT030 68882 4+32MB 520MB Nova/ 520STFM 4MB Tos206 SCSI
Shared SCSI Bus:ScsiLink ethernet, 9GB HDD,SD-reader @ http://phsw.atari.org
My Atari stuff for sale - click here for list

User avatar
Mikefulton
Captain Atari
Captain Atari
Posts: 169
Joined: Sun Nov 29, 2015 10:27 am

Re: gdos pdf driver

Post by Mikefulton »

Frank B wrote:
Mikefulton wrote:My point is, the right way to do it is to output text, not lines. But like I said, it's more work to do it the right way.
Kindof off topic but is this your blog ? http://www.fultonsoft.com/ ;) If so it's a fantastic read. More please :)
Yes, that's me.

joska
Hardware Guru
Hardware Guru
Posts: 4608
Joined: Tue Oct 30, 2007 2:55 pm
Location: Florø, Norway
Contact:

Re: gdos pdf driver

Post by joska »

Faucon2001 wrote:On my side I have solved my printing issue under Aranym using PCL NVDI drivers printing to file into an host folder, and on the host side an INCRON service watching this folder and then sending this file to ghostPCL to convert it into pdf and then sending it to CUPS. It's working great at any resolution with any printer... BUT it's a workaround only for Aranym.
Good idea, and not only for Aranym. I tested this on my Mega yesterday, but instead of printing directly to a host folder I used a simple PARCP-script to transfer the print-file to my Linux PC. Maybe it's possible to create an accessory to automate this on the ST-side.
Jo Even

VanillaMiNT - Firebee - Falcon060 - Milan060 - Falcon040 - MIST - Mega ST - STM - STE - Amiga 600 - Sharp MZ700 - MSX - Amstrad CPC - C64

gstoll
Atari maniac
Atari maniac
Posts: 88
Joined: Sun Feb 17, 2008 4:29 pm

Re: gdos pdf driver

Post by gstoll »

wongck wrote: Both Mike & me thinks that NVDI takes care of all the text output, it converts to raster (which what MS Windows does) which is great.
But if a program does a vs_clip() call, it will then clip the text output to a small area.
From the tst.c program I include, you can see that effect, by commenting/uncommenting the vs_clip() call.
Happens even when you set clipping off immediately.
I know it don't help you, but this an old problem. Christian Eyrich and Ingo Linkweiler work in 2000 on a fax driver and have the same problem with NVDI 5.x. The text output will be clipping to current screen resolution if the program make a vs_clip().

Ingo Linkweiler worte (sorry for the german, maybe someone can translate it)
- Das Clipping erfolgt bereits VOR Aufruf meines Dispatchers.
Selbst wenn ich alle Clips ignoriere (also nicht an EDDI weiterleite)
geht's nicht.
- Textausgaben werden bereits VOR Aufruf meines Dispatchers in Lines
umgewandelt und falsch geclipt. Gebe ich Text z.B. bei Position
(900,100) aus, wird der Dispatcher garnicht mehr angesprungen.

Faucon2001
Atari Super Hero
Atari Super Hero
Posts: 775
Joined: Sat Oct 26, 2013 11:19 pm
Location: France
Contact:

Re: gdos pdf driver

Post by Faucon2001 »

wongck wrote: Your printing solution will work for any MINT setup with networking and NFS or Sharitylight.
:oops: how come ? For my defense my file server is a NAS and the print server is my Linux box :roll:
Excellent point !

Now I have a network HP laser printer and I confirm, it works great with PHERP on my FireBee with NVDI PCL driver in B&W @600 DPI, and NVDI DJ550C driver in color (not so accurate : faded colors probably due to the bleeding parameter of the inkjet driver)

In the end the best solution is what you are working on, a native driver for GDOS / NVDI
I hope you will succeed with pdf and perhaps it may open the door to more drivers like TIFF, PS or PCL5c.

:cheers:
Philippe

Firebee, Falcon, STE, Aranym Box, Hatari Pi Box.
My music http://www.philippeworld.net/
My photography http://phil-67.deviantart.com/
EasyAraMint, BeeKey and BeePi https://sites.google.com/site/beebox68k/

User avatar
wongck
Ultimate Atarian
Ultimate Atarian
Posts: 12882
Joined: Sat May 03, 2008 2:09 pm
Location: Far East
Contact:

Re: gdos pdf driver

Post by wongck »

gstoll wrote: I know it don't help you, but this an old problem. Christian Eyrich and Ingo Linkweiler work in 2000 on a fax driver and have the same problem with NVDI 5.x. The text output will be clipping to current screen resolution if the program make a vs_clip().
Wow... thanks. Now we know it is nothing to do with wrong parameters in VDI param block. :roll:
gstoll wrote: Ingo Linkweiler worte (sorry for the german, maybe someone can translate it)
Google translate :mrgreen:
My Stuff: FB/Falcon CT63 CTPCI ATI RTL8139 USB 512MB 30GB HDD CF HxC_SD/ TT030 68882 4+32MB 520MB Nova/ 520STFM 4MB Tos206 SCSI
Shared SCSI Bus:ScsiLink ethernet, 9GB HDD,SD-reader @ http://phsw.atari.org
My Atari stuff for sale - click here for list

User avatar
wongck
Ultimate Atarian
Ultimate Atarian
Posts: 12882
Joined: Sat May 03, 2008 2:09 pm
Location: Far East
Contact:

Re: gdos pdf driver

Post by wongck »

Faucon2001 wrote: Now I have a network HP laser printer and I confirm, it works great with PHERP on my FireBee with NVDI PCL driver in B&W @600 DPI, and NVDI DJ550C driver in color (not so accurate : faded colors probably due to the bleeding parameter of the inkjet driver)
Thanks for testing.
My Stuff: FB/Falcon CT63 CTPCI ATI RTL8139 USB 512MB 30GB HDD CF HxC_SD/ TT030 68882 4+32MB 520MB Nova/ 520STFM 4MB Tos206 SCSI
Shared SCSI Bus:ScsiLink ethernet, 9GB HDD,SD-reader @ http://phsw.atari.org
My Atari stuff for sale - click here for list

Post Reply

Return to “Professionals”