(released: 2nd March 2008, webpage updated: 10th June 2008) |
|
There is no warranty for this product you use it entirely at your own risk, if you only write to ram: files and your machine is not connected to other computers then usage will be pretty safe but no guarantee of this is given. A.F.P.L Ghostscript is unconnected with GNU Ghostscript!
|
|
PHOTO: novel created from a chapter of documentation with the
novel feature. In the foreground is a long arm
stapler which is required to staple the middle of the A4 pages.
I tend to create 1 novel per chapter. The novel feature correctly
deals with page numbers. If there are too many pages you need to
subdivide the chapter into sub booklets
otherwise the pages become difficult to fold collectively.
|
A4 pages with 4 pages per side, 2 quid coins showing it is double sided.
|
The A4 pages are cut in half, and the 2 halves are combined and stapled.
|
The end product A6 booklet.
|
Close up showing correctly numbered pages.
|
PHOTOS: making a titchy A6 booklet from a chapter of a document using the pamphlets feature. I use this feature for documents I am not sure about OR if there isnt much printer paper left. Here are commands for doing this, somedoc.pdf is the document and the booklet is physical pages 97 to 158 (pages 110 and 111 in the last photo are in fact physical pages 128 and 129 for this document):
assign gs: gs860: makedir somedrive:temp_pamphlet gs:bin/pamphlet somedoc.pdf 97 158 somedrive:temp_pamphlet/temp execute ram:script1 execute ram:script2
This creates 3 PS documents in somedrive:temp_pamphlet/ which are temp_0.ps, temp_1.ps and temp_2.ps.
You then print temp_0.ps via gs, this does one side of the pages. Now depending on the printer you print the other sides by printing either temp_1.ps or temp_2.ps. You have to reinsert the pages the right way. You need to reverse the order of these pages and that gives you the pages in the first photo above. You then cut that column of pages in half, put one half above the other and go to the second photo. There is a lot of technique involved, the novels feature tends to be better quality as you dont have to cut the pages.
You need the 22nd May 2007 core and binary archives for this as the system has been enhanced as of 22nd May 2007 (today).
|
PHOTO: gs:examples/tiger.eps converted to landscape format. This is NOT a graphic rotation but a PS level rotation. The printer will receive a rotated document. The instructions used to generate the image can be seen in the shell in the photo! Note the Workbench backdrop is the previous photo, done via: SYS:prefs/WBPattern and selecting Placement=Workbench, Type=Picture, Picture Name=above picture. The landscape feature is for documents which have been done the wrong way for your printer. Note the aspect in the photo isnt quite right I think that is because 800 x 600 isnt a true aspect: to correctify that you would need to put 2 way resolution args in the "" which counteract the wrong aspect. Actually it is better to correctify when invoking the viewer that way the document remains correct eg -r100x200 is how you do a 2-way resolution. |
|
PHOTO: my whoosh24 PS + PDF viewer viewing gs:examples/tiger.eps on 512MB + 8MB chipmem WinUAE on a 1280 x 800 AMD powered laptop.
PHOTO: example of thumbnails feature created thus: assign gs: gs860: gs:lib/pdf2ps.amiga "" gs:examples/tiger.eps ram:tiger.ps gs:lib/pdf2ps.amiga "" gs:examples/escher.ps ram:escher.ps gs:lib/pdf2ps.amiga "" gs:examples/annots.pdf ram:annots.ps c:join ram:tiger.ps ram:escher.ps ram:annots.ps as ram:various.ps set GSFUNCTION T ; local variables so other shells can do other things. set GSTHUMBNAIL 3 gs:lib/pdf2ps.amiga "" ram:various.ps ram:thumbnails.ps unset GSTHUMBNAIL ; remove the settings so other things can be done, unset GSFUNCTION gs:bin/gs -sDEVICE=whoosh24 -dBATCH -dNOPAUSE -r300 ram:various.ps |
|
PHOTO of another thumbnails example:
|
| Useful Amiga links |
|
www.ann.lu | www.amiga.com | Martin Blom's Linux-x-Amiga cross compilers |
| www.amiga.org |
|
AmigaWorld.net | x86-AROS boot CD |
__________________
PS ----->| |---> print->|-->Turboprint: max 16777216 colours 24 bit
| This port of | |-->AmigaOS: max 4096 colours 12 bit
PDF ---->| Ghostscript 8.54 | |-->inbuilt GS drivers (eg Samsung ML-4500)
| | |-->ijs (ixemul only)
| |
| |---> view->|-->6 Cyber viewers eg WB truecolor 24 bit
| | |-->6 AGA viewers eg 262144 colour HAM
| |
|__________________|---> convert->|-->jpeg
|-->png
|-->fax
|-->bmp
|-->PS
|-->PDF
|-->etc!
thats what this particular port of Ghostscript is!
jpeg and png. My own viewers are
also split into 3 devices.
Florian's original device only understands Turboprint 7, whereas I have
fixed it to understand Turboprint 3,4,5,6,7
-sDEVICE=samsung_gdi. This driver isnt
yet ported to GS854 though is in GS813.
|
This now can be done via the icon script startup, eg by double clicking it.
The icon script install needs to be done first which just sets the env variable gs860
to the install directory.
; somewhere is the directory all the archives were
|
Ghostscript:
is needed if you have Turboprint and want to use PS:
Put in the startup:
assign gs: gs860:
|
This is needed for the AmigaOS scripts in gs860:lib and gs860:bin to function,
assign GS860: somewhere/gs860
|
assign GS860Fonts: GS860:fonts
|
GS860 can share fonts with GS850, via:
eg.
assign GS860Fonts: GS850fonts:
|
stack 2000000
|
|
This info and documentation isnt documented anywhere else so make sure to read it in reverse order beginning at no. 1, as it is in reverse chronological order with the most recent improvements at the top, some portability changes which dont affect the user arent mentioned eg some 68k API calls are unsuitable for other AmigaOS variants and have been replaced. Alternatively read it forwards till you reach things you've already read! 75. 6th April 2008: the viewer now begins at the top left of each page, previously it started at the centre. 74. 6th April 2008: the viewer now begins by exactly filling the current window width. 73. 6th April 2008: striking tab makes the viewer exactly fill the current window width. 72. 2nd March 2008: striking 0 makes the viewer remagnify to exactly fit the current window. 71. 2nd March 2008: the viewer remagnifies the first page of a document to exactly fit the window. (unless whooshw is set to 1 in which case the image fits the window width). Further pages are according to 63. below. 70. 2nd March 2008: 68k AmigaOS GPL GS860 is released. GPL has more printer support than AFPL. 69. 2nd March 2008: the viewer is hidden better while the image is being computed. 68. 2nd March 2008: the viewer now gives the page number and document name in the window title. 67. 2nd March 2008: the assigns have been enhanced, the binary just needs 2 assigns now: gs860: and gs860fonts: and users just need one assign gs: this means the documentation and scripts can remain unchanged across versions which will speed up doing new ports. 66. 2nd March 2008: a new icon script for multiselect conversion has been done, not fully betatested but it functions fine on 68k. It allows you to multiselect from a requester which documents to convert. 65. 2nd March 2008: the viewer usage info window now only appears on the first page of the first document viewed in a session. Next document you view there is no info window. 64. 2nd March 2008: error messages as regards memory allocation for various viewer buffers now only appear on the first page of the document. 63. 2nd March 2008: when viewing a multipage document the viewer now opens the next page with a window of the same size, position AND magnification. 62. 2nd March 2008: a new env variable 61. 2nd March 2008: 4 new env variables controlling the viewer window:
60. 10th Feb 2008: I created point and click icons for viewing documents, and converting to jpeg or PS. 59. 22nd May 2007: all the scripting mechanisms now are via "execute" and not directly as WinUAE keeps losing the script s flags from script files. This is a workaround enhancement specifically for WinUAE use. 58. 11th May 2007: many inadvertent references to gs850 have been removed from the novels, pamphlets, books and billboards features. 57. 14th Jan 2007: 68k-AmigaOS AFPL Ghostscript 8.54 released, 56. 17th June 2006: Make image transformations permanent by pressing p for p.ermanent. 55. 17th June 2006: Make text more coarse or bright colour text more delicate by pressing w, an upside down m representing the opposite of the function m no 54. 54. 17th June 2006: Make text more delicate by pressing m. I call this "maximum-alias". Is a customisation of the anti-aliasing feature 50. 53. 17th June 2006: New viewer sharpening feature, press s to get a sharper image. Experimental, done out of curiousity, is just a naïve deblurring. 52. 17th June 2006: New viewer blurring feature, press b to get blurring via each pixel replaced by the average of the 3x3 surrounding square. 51. 17th June 2006: Much faster averaged zoom zoom-out, via many tricks. Now reasonably fast even at 400dpi. Requires a lot of memory. 50. 14th June 2006: For the whoosh24 viewer on cybergrafix machines with lots of memory there is now optional anti-aliasing. Just press a to a.nti-alias the image and u to u.ndo this. Only available for the original magnification and zoomed in magnifications. Zoom-out instead uses the colour-averaging instead of anti-aliasing. 49. 14th June 2006: The viewers now contain colour-averaging zoom-out. When computing the image each output pixel is the average of all the contributory input pixels. This makes the image always look "photographic" as you zoom out. 48. 14th June 2006: some shell output is now to a pop up window. eg if you press space or v in the viewer. The v option now also shows the physical page number. 47. 20th Jul 2005: I've customised GS850 to do "BOOKS". Here you input a PDF document doc.pdf and it outputs 2 PS files one containing the odd numbered pages and the other the even numbered ones. You then print the odd pages document. Reinsert the pages and print the even numbered ones for a double sided printout. You can choose between forward and reverse page numbering for the even numbered pages. A blank even numbered page is automatically generated if it is required. 46. 18.jul.2005: I've customised GS850 to do BILLBOARDS, here you input a document and for each page a whole series of pages are output: you can cut these out and they will exactly fit together to form a huge image eg a billboard. 45. 16.jul.2005: I've customised GS850's source so you can now create novels. This prints 2 pages per page side so the double printouts rearrange into a correctly numbered novel. 44. 15.jul.2005: I've customised GS850's source so you can now create pamphlets and create thumbnail documents Pamphlets puts 4 document pages on each side of a physical page, so if cut in 2 horizontally the cut pages recombine into a correctly numbered pamphlet. Thumbnails fits eg 25 pictures 5 x 5 on a page. (or 9 or 16 etc). 43. 14.jul.2005: I've customised GS850's source so you can now view and print pdf and ps documents in landscape 42. 26.jun.2005: for the viewers 5 will now recentre the image, :requested by someone. 41. 26.jun.2005: there is a new env-variable "whooshreverse" which makes scrolling happen in the reverse direction. Set it to 1 to reverse scrolling and 0 the default for normal scrolling. 40. 23.feb.2005: control-C no longer crashes GS850. use control-C from the shell to fully exit the program in the middle of a program. 39. 23.feb.2005: new keyboard commands for the viewers: you can use the calculator keys of your keyboard to move 1/2 a screen in the 8 directions via 1, 2, 3, 4, 6, 7, 8, 9. Also + and - are now alternative ways to zoom-in and zoom-out. You can use the same keys from the main keyboard as well. The letter c will now give you a framecount on the shell. 38. 23.feb.2005: x86-native-aros BitMapScale() rescaling bugs fully resolved now, via my own rewriting of rescaling. My own code now does the rescaling in 68k cybergraphics as well. For AGA the OS is used. 37. 28.jan.2005.730pm: Samsung driver ported to GS850. So as of today GS850 fully supercedes GS813 here. 36. 27.jan.2005: AFPL Ghostscript 8.50 released for 68k-AmigaOS and x86-AROS. 35. 8.nov.2004.midnight: Morphos noixemul port attempt made available, use at your own risk. Use the nofpu 68020 port if you encounter any problems. 34. 1.sep.2004: Cary Driscoll has sent me a new version of his Final Writer to PDF script. 33. 10.jul.2004: feedback based improvements to PS: and Turboprint instructions, 32. 9.jun.2004: x86-AROS port of GS813 complete and available for download. 31. 19.may.2004: linux-hosted gcc-3.3.1 for x86-AROS ported to 68k-host, enables port of GS813 to x86-AROS mentioned on 9th Jun 2004. 30. 18.apr.2004: feedback that only the nofpu 68k port of GS813 should be used on Morphos. (both fpu and nofpu 68k versions of GS8 were fine on Morphos) 29. 28.mar.2004: Cary Driscoll sent me a Final Writer to PDF script 28. 24.mar.2004.3pm: Have created 2 AmigaOS shell scripts for
converting 27. [removed this entry as its no longer relevant.] 26. 22.mar.2004.4pm: UPGRADED GS8 TO GS813! involved a lot of tidying up and reorganising the internal code. Future versions of GS should happen much faster, though I wont try and track each and every version. 25. ??.Mar.2004: control-C now results in the program exiting with return value 20 instead of 100 as it was previously, 24. 5.mar.2004.midday: various fine tunings of zoom + scroll acceleration: i. screen flashes when you reach the upper and lower bounds, ii. flit steps are finest possible. iii. delays between flit steps removed, iv. upper and lower size filters brought in wherever relevant to prevent floating point overflow, 23. 4.mar.2004.11am: 2 new env variables to control zoom step and
zoom acceleration step, setenv whooshzoomstep 1.05 setenv whooshzoomsubstep 1.01 :this would zoom you in by a factor of 1.05 each time you press up-arrow, and if you kept left-shift down and typed up arrow 3 times this zoom in factor would be increased to 1.05 * 1.01 * 1.01 * 1.01 ie 1.081816, 22. 4.mar.2004.11am: If you type 'v' from the viewer it now shows you what the current keyboard scroll speed is. 21. 4.mar.2004.11am: zoom + scroll acceleration mechanism introduced in no. 20 below now lets you "see" what the new zoom or scroll step is by flitting the image back and forth. 20. 1.mar.2004.345pm: you can speed up or slow down keyboard-scroll and zoom now: Left-Shift+Up-Arrow => speed up zoom by a factor of 1.005 per key press Left-Shift+Down-Arrow => slow down zoom by factor of 1.005 Left-Shift+Right-Arrow => speed up keyboard scroll by 1 pixel per key press Left-Shift+Left-Arrow => slow down keyboard scroll by 1 pixel per key press 19. 1.mar.2004: due to repeated requests you can now scroll in all 4 directions via the arrow keys. The new default mechanism for this is to type control-arrowkey. However if you wish you can customise this eg to CAPSLOCK-arrowkey, ie CAPSLOCK will toggle between zoom and scroll for the up down keys. This is how you customise it, you use new env variablewhooshqualifier, and set to any of the following values,
default==3==CONTROL
Right SHIFT 1 CAPSLOCK 2 CONTROL 3 Left ALT 4 Right ALT 5 Left Amiga 6 Right Amiga 7 So eg setenv whooshqualifier 2will make CAPSLOCK toggle the up-down arrowkey behaviour between zoom and scroll. CAPSLOCK is not the default as toggle mechanisms can be confusing. Defaults need to be the safest possible options. Technically speaking 18. 1.mar.2004: Greatly improved keyboard scrolling. I noticed that the
original scrolling caused a mouse sleep for every scroll step. (putting in the
mouse sleep feature (no.11 below) is yielding dividends). The keyboard
scrolling is now 10 times faster and much smoother with only very occasional
mouse sleeps. Unset the 17. 1.mar.2004: I found a subtle viewer bug, the keyboard commands were all case sensitive, ie uppercase commands were ignored eg via CAPSLOCK. This has been fixed: keyboard commands are now case insensitive. 16. 1.mar.2004: Sometimes requests come for less Screen Beeps,
you can switch off all screen beeps except one on AGA via env variable
setenv whooshbeep 0 15. 1.mar.2004: people keep asking for this, so here it is: c:version gsnow produces a meaningful result. The output of the command is non standard as I dont use or like version numbers (too arbitrary and meaningless). 14. 1.mar.2004: ESC key will now quit the viewer, this was requested very recently, 13. 1.mar.2004: viewer shell output can now be fully switched off
via env variable setenv whooshquiet 1 :people keep asking for this, so I have done it. Note that shell output will also tell you all env variables values used the first time they are read in. 12. 22.jan.2004: The timeout for the viewer to discard scrolling events has
been changed, this results in much nicer scrolling behaviour. The timeout used to
be 0.1 seconds,
now it is 0.33 seconds. A new env variable has been introduced to
control this timeout: 11. 22.jan.2004: The viewer mouse pointer now sleeps during rescaling, this way you know that scrolling has halted briefly due to AGA thinking! This is relevant for when you scroll around after zooming in. You will realise eg on AGA that rescaling is a relatively slow process. 10. 22.jan.2004: Some irrelevant intuition events have been removed, removing some annoying viewer timelags. 9. Turboprint specific gs8 cli args have been reconnected, click here for further information 8. colour + b/w viewers now available for depth-8 WBs on graphics cards, also available now are depth-8 custom screen viewers for graphics cards. 7. ironical feature: the viewers now uses 6. The env variable set whooshw 1 :this command makes the viewer recompute the image resolution
so it exactly fills the screen width taking into account
window border sizes. I could do a height version as well but not sure
if this has any value. Note that the underlying image will exactly
fit the width, however the viewer window itself may be less than
full width because of env variables 5. There is now an option for non-interleaved BitMaps, such BitMaps are better for low chip ram situations on AGA setups. This feature is probably irrelevant for Graphics cards as they dont use bitplanes. The disadvantage of non-interleaved is that when the viewer image is changing it doesnt look clean. As always there is a tradeoff, if there wasnt a tradeoff then there would be no need for an option! Anyway to use non-interleaved BitMaps you do: set whooshinterleave 0 ; => non interleaved BitMaps Note that WB windows are always interleaved so the env variable has no effect for the WB viewers. 4. For AmigaOS printing if BitMap allocation fails eg
if env variable 3. New env variables have been introduced to restrict the viewer window size, this has the effect of freeing up chip memory to be available for the scroll space. This will mainly be of use to people with low chip memory situations on AGA. The env variables and example usage:
set whooshviewx 100 ; will restrict viewer window
; to width 100 pixels
set whooshviewy 200 ; will restrict viewer window
; to height 200 pixels
2. There was a slight bug in the original release version
with regards to env variable So in the original release you had to type setenv whooshscreen magic_number Now you can do what was actually intended namely: set whooshscreen magic_number 1. Other minor changes: default res is now
:the program needs "safe" default values so first time users get best program behaviour. Cyber 1 bit custom screens erroneously had "AGA" in the title, this has been fixed! |
gs:bin/gs -h
|
set print 0 ; printer off
|
set print 0 ; printer off
|
set print 0 ; printer off
|
-sDEVICE=whooshg, whereas with
GS854 onwards you can use either -sDEVICE=whoosh8 or
-sDEVICE=whooshg
set print 0 ; printer off
|
-sDEVICE=whooshg, whereas with
GS854 onwards you can use either -sDEVICE=whoosh8 or
-sDEVICE=whooshg
set print 0 ; printer off
|
set print 0 ; printer off
|
gs:bin/gs gs:examples/tiger.eps
|
set print 0 ; printer off
|
set print 0 ; printer off
|
set print 0 ; printer off
|
-sDEVICE=whooshg, whereas with
GS854 onwards you can use either -sDEVICE=whoosh8 or
-sDEVICE=whooshg
set print 0 ; printer off
|
set print 0 ; printer off
|
set print 0 ; printer off
|
quit
eg:
GS> quit
|
gs:examples/tiger.eps you then type:
GS> (gs:examples/tiger.eps)run
|
| key | meaning |
|---|---|
| Up arrow | rapid naive zoom in |
| Down arrow | rapid naive zoom out |
| left arrow (<--) | scroll left |
| right arrow (-->) | scroll right |
| Left Mouse button | Direct scroll image by click and drag |
| Right Mouse button | Toggle on or off automatic scroll |
h |
h.alve the image size |
d |
d.ouble the image size |
r |
r.eset to original resolution |
v |
v.alue of current zoom is echoed to the shell |
q or ESC or CLOSEWINDOW |
q.uit, same effect as clicking closewindow |
y then the shell will echo a
list of currently recognized keys + what they mean.
GS> prompt type quit
GS> quit
|
zoom#?. On this
second zoomed in viewing you can repeat the procedure by typing z on
each page at a selected view.
zoom#? env variables are read in and
immediately deleted after being read in. If you wish to reuse them several
times then make a backup of them via:
copy env:zoom#? somewhere
|
epson driver,
type all on one line:
gs:bin/gs -sDEVICE=epson -dNOPAUSE -sOutputFile=par: tiger.eps
|
gs:bin/gs -sDEVICE=epson -dNOPAUSE -sOutputFile=ram:annots%d annots.pdf
|
ram:annots1, ram:annots2, etc,
to print page 4:
copy ram:annots4 par:
|
gs:bin/gs -sDEVICE=tp24 -dBATCH -dNOPAUSE -q
|
You may of course put eg -sDEVICE=tp1 if you want to do
fast low colour printouts,
PS: for
GS860 and what is going on,
MORPHOS users: CLICK for Turboprint GS510 things: http://www.irseesoft.de/ghostscript (:24.mar.2004.1050pm)
Morphos users: CLICK for extra magic required to make PS: function.
:apparently
"just drop the gs-handler in L: and place the PS mount file in devs:dosdrivers."
:Note that Turbo GS510 only understands Turboprint 7, whereas in my ports the Turboprint devices understand Turboprint 3,4,5,6,7: required careful surgery, I believe in backward and forward and sideways compatibility! If I didnt you wouldnt be able to use this port eg on Morphos or OS4 or on early A1200's,
Setting up PS: consists of 3 parts: handler + mountlist + assign:
1. The handler: you need to recycle the GS510/l/gs-handler thus:
makedir GS860:bin/l copy GS510/l/gs-handler GS860:bin/l ; IYSWIM!
2. The mountlist: recycle the GS510 DEVS: mount file, to
DEVS: not sure what the mountlist is called,
3. The assign: C. Driscoll tells me that Ghostscript: needs to
be assigned in such a way that you get Ghostscript:l/gs-handler,
thus you need eg:
assign Ghostscript: GS860:bin ; startup each time you boot,
The Ghostscript: assign is only relevant to PS:,
its not a GS860 thing but a PS: thing.
C. Driscoll also says you can if you wish
edit the mountlist to say L:gs-handler, however that
gs-handler has Ghostscript: and
Ghostscript:GS embedded in the code, so even if
you edit the mountlist you will continue getting the
Ghostscript: requester.
So the path of least resistance seems to be to leave the mountlist unchanged
and follow steps 1, 2 and 3!
gs:bin/gs -sDEVICE=tp24 -dBATCH -dNOPAUSE -dFirstPage=2 -dLastPage=4 -q annots.pdf
|
:all on one line, the -dFirstPage and -dLastPage tricks
are only available for pdf docs, not for ps docs. annots.pdf is in GS860:examples/
gs:bin/gs -sDEVICE=tp8 -dBATCH -dNOPAUSE -dFirstPage=2 -dLastPage=4 -q annots.pdf
|
Please note: for GS8 you have to use -sDEVICE=tp8g,
with GS854 you can use either -sDEVICE=tp8 or
-sDEVICE=tp8g
With GS854 the name has been changed to be easier to remember.
:all on one line, the -dFirstPage and -dLastPage tricks
are only available for pdf docs, not for ps docs. annots.pdf is in GS860:examples/
gs:bin/gs -sDEVICE=tp1 -dBATCH -dNOPAUSE -dFirstPage=2 -dLastPage=4 -q annots.pdf
|
:all on one line, the -dFirstPage and -dLastPage tricks
are only available for pdf docs, not for ps docs. annots.pdf is in GS860:examples/
This produces the fastest render, its good for text only documents.
Its also good if the document only has solid regions of black on a
white background (no grays or colours).
If the document has lots of delicate colours or gray then use
tp24 or tp8
Download icon_scripts.lha, this presents icons for a point and click approach.
The following info is also in the archive.
make sure that your startup has:
assign gs: gs860:
The interface is via the visible icons only, the other scripts are auxiliary and not to be directly called.
double click the "view" icon and you get a requester for what document to view, that is then viewed.
double click convert_to_jpg and you input a ps or pdf document which is then converted to jpg in ram: eg if you select gs:examples/annots.pdf you get ram:annots1.jpg, ram:annots2.jpg ...
double click convert_to_pdf and you select a document to convert to a pdf in ram:
multi_convert_to_pdf allows you to multiselect from the requester which documents to convert. After conversion the documents are moved to the selected completion directory. DONT try this on gs:examples as it will move the examples out! This hasnt been fully tested, so please make a backup or test from ram.
you can customise these scripts to do other things.
they function via c:iconx it is possible you may
need c:xicon instead for some systems.
set print 1 ; printer on
|
set print 1 ; printer on
|
NOTE: With GS8 you have to use -sDEVICE=whooshg, whereas with
GS854 onwards you can use either -sDEVICE=whoosh8 or
-sDEVICE=whooshg
set print 1 ; printer on
|
|
annots.pdf to jpeg files
ram:annots1.jpeg, ram:annots2.jpeg etc at 150dpi,
1 jpeg for each page.
It would do this at 100% quality because of the -dJPEGQ=100
switch. If you want 10% quality you use -dJPEGQ=10 instead etc.
NOTE that 100% quality is NOT the same as lossless jpeg as the latter is
commercial and discouraged by the opensource community, instead if you want
lossless images use -sDEVICE=png which is a free open standard (I hope!).
-sDEVICE=jpeg is useful for interfacing with web-browsers as
jpegs can be viewed via browsers.
So you can make a PS page available for a browser by converting it to
jpeg via -sDEVICE=jpeg and then linking to this in the html.
General info about the command line: all Ghostscript arguments such as -dJPEGQ are CASE SENSITIVE ie -dJPEGQ=20 is GOOD, but -djpegq=20 is WRONG and -DJPEGQ=20 is WRONG. Also the order of the args MATTERS, Ghostscript processes the arguments left to right, some orderings are good and some are not! The above presentation of arguments is correct and other presentations are correct. This is different from a lot of Unix programs where arguments can be presented in any order.
I find its best to put the device as the first arg and right at the end to put the output file followed by the input files:
gs -sDEVICE=????? ...... -sOutputFile=???? infile1 infile2 infile3
From left to right the args of the jpeg example are:
1. first gs:bin/gs is the path to the Ghostscript binary,
on *nix probably just gs
ok
2. -sDEVICE=jpeg is the jpeg device ie convert documents to jpeg,
for list of devices: gs:bin/gs -h
ok
3. -r150 is the resolution in dpi (dots per inch, ie pixels per 2.54cm, computer monitor is approx -r100),
ok
4. -dJPEGQ=100 is a device specific argument specific to -sDEVICE=jpeg explained above,
ok
5. -dNOPAUSE means Ghostscript shouldnt pause annoyingly between pages, ALWAYS do this
ok
6. -dBATCH means Ghostscript should exit on completion, ALWAYS do this
ok
7. -sOutputFile=some_path/somefile%d means the output file,
ok
8. %d means create an output file for each page substituting %d by the pagenumber.
ok
9. And lastly are presented a list of PS or PDF files to convert. ok
Note that this website is about the 68k-AmigaOS Ghostscript binary available from
this webpage, however various info will apply to all Ghostscripts.
Many things are only applicable to this specific version of Ghostscript,
namely things I coded myself. Today most people
use 68k-AmigaOS in emulated form, eg for PC's there is a commercial product
called "Amiga Forever" which is an Amiga emulator for PCs. Via that people with PCs can
use this port. There is also an excellent free Amiga Emulator for PCs called
WinUAE but you need to supply the ROM image and system disk images.
People also can use the binary here via the AmigaOne (A1) and Morphos on Pegasos
which are both PPC versions of AmigaOS with integrated 68k-AmigaOS emulators.
There is also the AROS reimplementation of AmigaOS for PCs, I dont know if
they have a 68k-emulator yet, I think that is one of their projects.
I did a version of the program for AROS some years ago but many features
have been implemented since then and I havent done any further builds for
AROS.
2006.8.1: someone has pointed out that the original command I gave created a 72dpi jpeg which
was a bit low res. So I've modified the shell command above to give the res, here at -r150,
you can use any other number eg -r100 or -r300 etc.
topic originally from Thursday 8th May 2003 1115pm
For typing with GS you need some language layer otherwise its a real pain, thus use my own language layer: type.ps.
The problem is that GS uses a coordinate system with the wrong origin + wrong axes directions wrong measure etc. Thus to make it user friendly use the above file.
All commands beginning with Upper case initial letter are
my own commands, so if you look inside the above file anything beginning
with lower case is an inbuilt PS command eg show is the
inbuilt PS command for printing text.
Begin by calling gs as usual with the above file as input, eg
gs -sDEVICE=whoosh24 -dNOPAUSE -r30 type.ps
This will take you immediately to the GS> prompt.
Now try this:
GS> (Hello world!)show GS> (this is a test)show GS> Newline GS> 255 255 0 Square GS> (see a yellow square?)show GS> 0 255 255 Square GS> Newline (:cyan square)show GS> Newline GS> /NimbusSanL-Regu Font GS> (:new font being set)show GS> 5 Fontsize /NimbusSanL-Regu Font GS> Newline GS> (Big 5cm!)show GS> Newline GS> 1 Fontsize /NimbusSanL-Regu Font GS> (smaller font!, see gs8data:fontmap.gs)show GS> Newline GS> (for all available fonts)show GS> Print
You can do this also for any GS device, whenever you enter Print it will print the current stuff to the printer or other device.
gs -sDEVICE=anydevice -dNOPAUSE type.ps
This can also be done from a pre-made file, eg:
gs_000 -sDEVICE=somedevice type.ps
Then at the GS> prompt type:
GS> (typetest) run
Where the file typetest contains the above commands,
this makes life a lot easier to debug the PS file. You can also add your
own language layer to extend type.ps.
You can do all this directly with PS but its a lot of
work as eg the units of measurement are 1/72 inch,
Also PS does rgb colours with floating point values between 0 and 1
for each component. type.ps retargets this to the
traditional computer 0-255 values!
type.ps keeps track of vertical position on the page,
the Newline procedure resets the position to the start
of the next line.
By using my type.ps layer file, you have user friendly
usage of GS for text using all GS fonts in gs8data:fontmap.gs
and any other ps fonts.
Thus you can write a letter with commercial quality printout
just armed with GS and type.ps
Handwritten Postscript generally requires debugging eg one line may collide with another or run off the edge. eg the above example had some bugs, now removed!
Also with each page printed everything gets reset, thus my Print
procedure reinitializes the page each time, otherwise when you
try a second page it will be just blank!
Really using the GS> prompt is just like using the
BASIC language on eg a BBC computer of yester-year.
A procedure for automatically doing newlines would be
/Line {show Newline} def,
you could feed this
new procedure in at the GS> and immediately start using it.
USE GHOSTSCRIPT AS A CALCULATOR:
gs_000
To multiply eg 12.3 x 13.8:
GS> 12.3 13.8 mul ==
To add use add, likewise use sub, div,
To do (2 + 3)/4:
GS> 2 3 add 4 div ==
GS is a stack machine, if we present it with a number, it pushes it
onto the stack. When we present it with an operator eg add
it pops the operands from the stack, applies the operator and pushes the
answer onto the stack. To pop + view the top thing on the stack you type
==. So eg to add 1 2 3 4 5 we could type:
GS> 1 2 3 4 5 add add add add ==
If the GS prompt says eg GS> < 4 > that means there
are 4 unpopped things on the stack. Its useful for debugging.
gs813:bin/gs -h here is a list of all devices in
this recompile, with GS813 the list is alphabetical:
bbox bit bitcmyk bitrgb bj10e bj200 bjc600 bjc800 bmp16 bmp16m bmp256
bmp32b bmpgray bmpmono bmpsep1 bmpsep8 cdeskjet cdj550 cdjcolor cdjmono
cljet5 cljet5c deskjet devicen djet500 eps9high eps9mid epson epsonc
epswrite faxg3 faxg32d faxg4 ibmpro jpeg jpeggray laserjet lj5gray
lj5mono ljet2p ljet3 ljet3d ljet4 ljet4d ljetplus miff24 nullpage pbm
pbmraw pcx16 pcx24b pcx256 pcxcmyk pcxgray pcxmono pdfwrite pgm pgmraw
pgnm pgnmraw pj pjxl pjxl300 pkm pkmraw pksm pksmraw png16 png16m png256
pngalpha pnggray pngmono pnm pnmraw ppm ppmraw psdcmyk psdrgb psgray
psmono psrgb pswrite pxlcolor pxlmono samsung_gdi spotcmyk stcolor
tiff12nc tiff24nc tiffcrle tiffg3 tiffg32d tiffg4 tifflzw tiffpack tp1
tp24 tp8 tp8g uniprint whoosh1 whoosh24 whoosh8 whooshg xcf
jpeg, png, bmp, there are also lots of wierd things such
as many fax formats.
samsung_gdi driver in the device list.ijs-sDEVICE=ijs is an impenetrably complicated method.
Its clever but usage is near impossible to understand, I've made some
3 attempts to understand it and given up.
Anyway this method allows you to download and use external drivers from
the internet and use them with GS8. I think Hewlett-Packard are involved with
the concept :I think ijs is one of those a-bit-too-clever ideas!
If you get too clever with computers you end up with something which is too
difficult to use, L-unix anybody??whooshxsafe and
whooshysafe eg
set whooshxsafe 900 ; limit all bitmaps to
|
whooshysafe can be used to
speed up the render.
SetRGB32CM() bug: unfortunately the
SetRGB32CM() AGA OS call doesnt set the lower
4 bits of the blue component. You can prove this by calling
SetRGB32CM() and then studying the blue component via
GetRGB32(). I have fixed this bug by directly
hacking to memory the correct lower 4 bits of blue.
This bug fix could throw an emulator.
whooshfix,
set whooshfix 1
|
SetRGB32CM() is only used if you
select a depth 8 screen.
-sDEVICE=whoosh24, whoosh8, whooshg and whoosh1:
set whooshv 1 ; verbose on
|
set whooshscreen 102400 ; set custom screen to
|
set whooshwbres 1 ; custom screen to use
|
set whooshw 1 ; WB viewer image to exactly fill
|
set print 0 ; printer off
|
whoosh100 illustrated above is a new env variable,
introduced on 22nd January 2004, it is a fine tuning of the viewer.
:it is the timeout for ordinary viewer refresh events. What this means
is if you eg scroll around with the viewer, hundreds of mouse events
may be generated for this. If each mouse event results in a redraw,
then you may have to wait ages for the viewer to catch up. Thus
the viewer will ignore such events if they are too late,
in particular if they are greater than whoosh100/100
seconds old. The default is 33, ie if an event is later than 1/3 second
it will be ignored. Some events are never ignored such as resizing
the viewer window.
whoosh
set print 0 ; printer off
|
When gs encounters an error it tells you the
file position, however what you really want is the line number,
so there is now a small program to convert file position to line number
in
gs860nofpu.lha
Example usage:
gs:bin/pos_to_line examples/tiger.eps 1000
:would tell you the line number of file position 1000 in tiger.eps,
To get usage info type:
gs:bin/pos_to_line
or
gs:bin/pos_to_line ?
gs:bin/pos_to_line examples/tiger.eps 1000 1200
:would print out all text from file position 1000 to 2000 and then
tell you the line number of file position 1000 in tiger.eps,
eg when I tried it, it does:
/_i currentflat def
/i {dup 0 eq {pop _i} if setflat} bdef
/j /setlinejoin ldef
/J /setlinecap ldef
/M /setmiterlimit ldef
/w /setlinewidth ldef
% path construction operators
/_R {.25 sub round
LINENO = 30
Michael Merkel who was one of the original betatesters for the Turboprint part of the port has written a GUI frontend for the ports of GS I have done.
Its an independent project and
this is the URL.
This requires the 11th May 2007 binary archive or later.
The current gs860core.lha as of today (17th July 2005) now contains pdf2ps.amiga.
Lets say you want to convert gs:examples/annots.pdf page 2 to 3 x magnification billboard:
Here is how you would do it just to view the parts. To actually print the frames you need to edit gs:bin/view1 and uncomment eg the turboprint command: a row by row column of frames will then be generated by your printer starting with the lowest row and working left to right. You then cut the right + top edges of each frame and glue consecutive frames together. In the "billboard" command below, the first argument is args in "" for GS: we filter out just page 2 here, the next arg is the document, then is the magnification factor: here its 3, then a script file which will be generated (output) ram:script0, then a temporary filename prefix here hd:temp, scratch files hd:temp#? will be generated by the mechanism, then a script file you supply which will view/print the resulting PS files: gs:bin/view1 (ready made one), then the horizontal overlap factor: here its 4 meaning each consecutive horizontal page overlaps with 1/4 of its predecssor. Lastly the vertical overlap factor here 8: vertically frames overlap by 1/8.
:if there are gaps between consecutive frames reduce these 2 parameters till consecutive frames match with absolute precision: should be pixel perfect.
If you run gs:bin/billboard without args it will give you usage info,
x0 and y0 define the overlap factors of 1/x0 and 1/y0.
Note that if you dont filter out one page via -dFirstPage and -dLastPage you will get a billboard for every page of the document using a square mile of paper: BEWARE!
(A)
assign gs: gs860:
delete hd:temp#?
gs:bin/billboard "-dFirstPage=2 -dLastPage=2" gs:examples/annots.pdf 3 ram:script0 hd:temp gs:bin/view1 4 8
; :all on one line,
; ie without paths its:
;; billboard "-dFirstPage=2 -dLastPage=2" annots.pdf 3 script0 temp gs:bin/view1 4 8
execute ram:script0
In gs:bin/view1 you can uncomment a line to print the billboard via Turboprint.
You can also comment out the line that deletes the images after printing.
You can use this system to generate huge photograph images from an a4 printer:
combining the resulting a4 sub-images will be quite a lot of effort.
This requires the 11th May 2007 binary archive or later.
This puts 2 PDF document pages per physical page side
in such a way that when you print on both sides you
can column up the pages, fold in half and obtain the
correctly numbered pages of a novel. For example a 9 page document
is prints as:
(1)[ 2 : . ]
(3)[ 4 : 9 ]
(5)[ 6 : 7 ](8)
As with pamphlets you can use the novel feature several times and then combine these into a tome.
Example: say you want to put pages 90 to 210 of doc.pdf into a novel.
This system ONLY functions for pdf's. To do this with a PS document you need to convert it to PDF first via GS860:lib/ps2pdf.amiga which is Ghostscript's PDF distiller script.
Here is how you now convert pages 90 to 210 of doc.pdf to 2 x 1 x 2 novel. You need a temporary file prefix eg hd:temp or ram:temp (if you have lots of memory). The temp file prefix hd:temp, 90 and 210 are then entered into the following commands. WARNING: all files with prefix hd:temp will be deleted at the start!
(A)
assign gs: gs860:
delete hd:temp#?
gs:bin/novel doc.pdf 90 210 hd:temp
execute ram:script1
execute ram:script2
gs -sDEVICE=???? ?????? hd:temp_0.ps
;WAIT FOR PAPER TO COOL DOWN, EG WAVE PAPER IN THE AIR.
;NOW REINSERT PRINTOUT,
;IF IN FORWARDS ORDER UNCOMMENT THIS:
;gs -sDEVICE=???? ?????? hd:temp_1.ps
;IF IN REVERSE ORDER UNCOMMENT THIS:
;gs -sDEVICE=???? ?????? hd:temp_2.ps
;if unsure whether hd:temp_1.ps or hd:temp_2.ps then view the first
;page of say hd:temp_1.ps with the -sDEVICE=whoosh24 viewer and
;see if it matches the first page to be printed. If it matches now
;print hd:temp_1.ps else print hd:temp_2.ps. Stick a note on the
;printer saying which option to use.
If you run gs:bin/novel with too few args eg no args it will give you usage info.
The above commands will generate hd:temp_0.ps, hd:temp_1.ps and hd:temp_2.ps these are 3 PS files. First print hd:temp_0.ps with GS. This generates the upper faces of the novel. Once printed you have to re-insert these into the printer. If these are in forwards order now print hd:temp_1.ps and if in reverse order print hd:temp_2.ps. Make sure the pages arent upside down!
This will print the lower faces on the same pages.
IMPORTANT: make sure to wait till the pages have cooled down before reinserting. Otherwise the printer will lose its grip and the printout could be wrongly positioned.
Experiment with say 20 pages of a document. If you only want one of forwards or reverse ordering of the second print then comment out the appropriate line of gs:bin/script3n
My printer has 2 output schemes which create opposite out-tray orderings of the print.
When both sides are printed you may need to do a final reversing of page order. I probably need to improve the scheme sometime so that a final reversing isnt necessary.
If you arent sure, instead of printing view temp_0.ps, temp_1.ps and temp_2.ps with whoosh24 and note the page numbering, then figure out from this how to do the reinsertion.
You can create commercial quality booklets with this scheme.
This requires the 11th May 2007 binary archive or later.
This puts 4 pages per page side in such a way that if you cut the pages in half horizontally, place one half column above/below the other and remove one possibly blank page at the top, staple together you get a pamphlet with correctly sequenced page numbers.
For example the first printout of a 30 page document will have
the following page number layout:
2
10 23
Later in phase 2 of the procedure under the 2 will be 1, under the 10 9, under 23 24, and nothing under the empty subframe. ("Notes" candidate!)
The second printout will look like:
4 29
12 21
Later under 4 + 29 + 12 + 21 will be 3 + 30 + 11 + 22 respectively. You dont want to have to do this by hand as its really painful!
BTW I've been thinking about this idea ever since GS8, but couldnt see how to do it then when looking at something Christoph Poelzl asked I suddenly made a breakthrough.
There is quite a bit of puzzle element to the procedure, eg when I first tried it one side was upside down, then when I got it the right way round I was looking at the wrong side of the page, things only make sense if you look at the correct side!
You can also publish your own book by dividing the book into pamphlets and then stitching the pamphlets together into a book.
The pamphlet scheme has some sort of physical limit for convenient browsing, to create a tome you need lots of pamphlets. I think the professionals stitch with string and dont use staples. Staples are for amateurs like me. The problem with staples is though they look bright and shiny today in 10 years time they will have corroded. That shiny lustre will have flaked off causing a health hazard.
Example: say you want to put pages 90 to 210 of doc.pdf into a pamphlet. You can determine the page count of a document via the number GS -sDEVICE=whoosh24 says when you view the document. You can make a tome by splitting the document into several pamphlets.
This system ONLY functions for pdf's. To do this with a PS document you need to convert it to PDF first via GS860:lib/ps2pdf.amiga which is Ghostscript's PDF distiller script.
Here is how you now convert pages 90 to 210 of doc.pdf to 2 x 2 x 2 pamphlet. You need a temporary file prefix eg hd:temp or ram:temp if you have enough ram. The temp file prefix hd:temp and 90 and 210 are then entered into the following commands. WARNING: all files with prefix hd:temp will be deleted at the start!
(A)
assign gs: gs860:
delete hd:temp#?
gs:bin/pamphlet doc.pdf 90 210 hd:temp
execute ram:script1
execute ram:script2
gs -sDEVICE=???? ?????? hd:temp_0.ps
;WAIT FOR PAPER TO COOL DOWN, EG WAVE PAPER IN THE AIR.
;NOW REINSERT PRINTOUT.
;IF IN FORWARDS ORDER UNCOMMENT THIS:
;gs -sDEVICE=???? ?????? hd:temp_1.ps
;IF IN REVERSE ORDER UNCOMMENT THIS:
;gs -sDEVICE=???? ?????? hd:temp_2.ps
;if unsure whether hd:temp_1.ps or hd:temp_2.ps then view the first
;page of say hd:temp_1.ps with the -sDEVICE=whoosh24 viewer and
;see if it matches the first page to be printed. If it matches now
;print hd:temp_1.ps else print hd:temp_2.ps. Stick a note on the
;printer saying which option to use.
If you run gs:bin/pamphlet with too few args eg no args it will give you usage info.
The above commands will generate hd:temp_0.ps hd:temp_1.ps and hd:temp_2.ps these are 3 PS files. First print hd:temp_0.ps with GS. This generates the upper faces of the pamphlet. Once printed you have to re-insert these into the printer. If the reinsertion is in forwards order you now print hd:temp_1.ps and if in reverse order hd:temp_2.ps.
The first time you try this everything will go wrong.
The second print prints the lower faces on the same pages.
IMPORTANT: make sure to wait till the pages have cooled down before reinserting. Otherwise the printer will lose its grip and the printout could be wrongly positioned.
If you comment out one of the 2 commands in gs:bin/script3 you can make only one of the 2 possibilities of forwards versus reverse happen.
My printer has 2 output schemes which create opposite out-tray orderings of the print: I move a lever up or down, if the lever is down the pages leave the printer to the floor (unlimited capacity) and when its up they accumulate within the printer. :both schemes are stacks but one is a face down stack and the other a face up stack.
This scheme is complicated but thats because the problem itself is geometrically quite complicated.
Creating pamphlets is very satisfying.
This requires the 11th May 2007 binary archive or later.
This takes an input PDF document doc.pdf, and outputs 3 PS documents hd:temp_0.ps, hd:temp_1.ps and hd:temp_2.ps.
The odd pages are in hd:temp_0.ps and the even pages plus maybe a parity synchronising blank page in hd:temp_1.ps as well as in hd:temp_2.ps. hd:temp_1.ps contains the even pages in ascending order and hd:temp_2.ps in descending order.
So you print hd:temp_0.ps then reinsert the pages and print either hd:temp_1.ps or hd:temp_2.ps to get a 2 sided printout.
(You can convert these 2 PS files to PDF via GS860:lib/ps2pdf.amiga, :this script is self documenting)
Example: say you want to print pages 90 to 210 of doc.pdf thus, Note you can find the number of pages in a PDF document by running GS -sDEVICE=whoosh24 and noting the number at the start.
This system ONLY functions for pdf's. To do this with a PS document you need to convert it to PDF first via GS:lib/ps2pdf.amiga which is Ghostscript's PDF distiller script.
Here is how you now convert pages 90 to 210 of doc.pdf to 2 x 1 x 1 book format. You will need to supply the first and last pages 90 and 210 as shown in the example below. You also need a temporary file prefix eg hd:temp. (I use ram:temp). The temp file prefix hd:temp and 90 and 210 are then entered into the following commands. WARNING: all files with prefix hd:temp will be deleted at the start!
(A)
assign gs: gs860:
delete hd:temp#?
gs:bin/book doc.pdf 90 210 hd:temp
execute ram:script1
execute ram:script2
gs -sDEVICE=???? ?????? hd:temp_0.ps
;WAIT FOR PAPER TO COOL DOWN, EG WAVE PAPER IN THE AIR.
;ALSO GOOD IDEA TO FLATTEN THE PAPER.
;NOW REINSERT PRINTOUT, IF IN FORWARDS ORDER UNCOMMENT THIS:
;gs -sDEVICE=???? ?????? hd:temp_1.ps
;IF IN REVERSE ORDER UNCOMMENT THIS:
;gs -sDEVICE=???? ?????? hd:temp_2.ps
;if unsure whether hd:temp_1.ps or hd:temp_2.ps then view the first
;page of say hd:temp_1.ps with the -sDEVICE=whoosh24 viewer and
;see if it matches the first page to be printed. If it matches now
;print hd:temp_1.ps else print hd:temp_2.ps. Stick a note on the
;printer saying which option to use.
If you run gs:bin/book with too few args eg no args it will give you usage info.
The above commands will generate hd:temp_0.ps, hd:temp_1.ps and hd:temp_2.ps these are 3 PS files. First print hd:temp_0.ps with GS. This generates the odd numbered pages. Once printed you have to re-insert these into the printer, if they are in forwards order print hd:temp_1.ps and if in reverse order print hd:temp_2.ps
According to the number of pages there may be 1 synchronising blank page.
IMPORTANT: make sure to wait till the pages have cooled down before reinserting. Otherwise the printer will lose its grip and the printout could be wrongly positioned.
If you know you only need either forwards or reverse order you can
comment out the appropriate line in gs:bin/script3b
This requires the 22nd July 2005 binary or later.
Say you want to view/print doc.pdf in 4 x 4 thumbnails:
set GSFUNCTION T
set GSTHUMBNAIL 4
assign gs: gs860:
gs:lib/pdf2ps.amiga "" doc.pdf doc_thumbnails.ps
unset GSTHUMBNAIL
unset GSFUNCTION
This will generate doc_thumbnails.ps with 4 x 4 thumbnails,
ie 16 pages per page.
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
Pages 17, 18 etc will be thumbnailed to the next page etc, and you can have any number of pages eg 3 or 101.
eg you can store the 6 pages of GS860:examples/annots.pdf on one
3 x 3 thumbnail page!
This requires the 15th July 2005 binary or later. Usage has changed since 14th July.
In response to a request by Christoph Poelzl I've customised GS854 onwards so it now can print in landscape.
You need the current binary.
To print/view in landscape say annots.pdf,
assign gs: gs860:
set GSFUNCTION L
pdf2ps.amiga "" annots.pdf annots_landscape.ps
unset GSFUNCTION
This creates a landscape PS file eg annots_landscape.ps eg
view it at low res:
gs -sDEVICE=whoosh24 -r50 -dBATCH -dNOPAUSE annots_landscape.ps
WIARD Thomas (thomas dot wiard at radiofrance dot com) contacted me with the following problem which is about embedding problematic true type fonts in a document as PS fonts.
Various true type fonts (Trebuchet TimesNewRoman CourierNew and Arial) converted to PS fonts via ttf2pt13 from aminet and embedded in a document via Wordworth7 were not rendering "-". The "-" was being rendered with the default undefined symbol which is a square.
We established that the problem was not with GS.
Using nonembedded fonts rendered the - but didnt look the way intended.
The fonts needed to be converted to PS to use on Wordworth7 and to be embedded to preserve the look of the document eg when used with GS860.
All attempts to do this were not rendering the "-" for all the fonts, some attempts rendered the "-" for some of the fonts.
Eventually the following method was found by WIARD Thomas which is entirely via AmigaOS:
1) convert the .TTF font with 'ttf2pt1 -a -b' command into the .PFB file format 2) launch TypeSmith 2.5 software 3) import the .PFB file 4) at the question : "the font has a custom encoding. Load with TypeSmith encoding ?" reply YES 5) export the .PFB file 6) choose the parameter : encoding type - TypeSmith encoding and then the .PFB file is correct ! |
Someone asked me how you do this, I've converted the ps2ascii
script to AmigaOS for this. You use GS:lib/ps2ascii_amiga
which is in
gs860core.lha
since 26th June 2005
Example:
assign gs: GS860: |