2 @author "Emmanuel Lesueur"
3 @(c) "Copyright © 1999-2005 Emmanuel Lesueur"
4 @$VER: Apdf.guide 3.4 (31.10.2005)
8 @node Main "Apdf.guide"
13 Adapted from Xpdf 3.01 - ©1996-2005 Glyph & Cog, LLC
20 @{" Introduction " link introduction}
21 @{" System requirements " link systreq}
23 @{" Installation " link installation}
24 @{" Configuration " link configuration}
25 @{" Starting Apdf " link starting}
26 @{" Usage " link usage}
28 @{" Fonts " link fonts}
29 @{" Cache " link cache}
31 @{" Questions and answers" link faq}
32 @{" Known problems " link prob}
34 @{" Legal stuff " link legal}
35 @{" Distribution " link distribution}
36 @{" Source " link source}
37 @{" Support " link support}
38 @{" Future " link future}
39 @{" Thanks " link thanks}
40 @{" History " link history}
45 @node introduction "Introduction"
47 Apdf is a port of Derek B. Noonburg's PDF viewer, xpdf 3.01. It can read
48 PDF version 1.5 files.
50 Vpdf.VPlug is a PDF plugin for Voyager 3.1+, Oliver Wagner's web browser.
55 @node systreq "System requirements"
57 To use Apdf, you need a HiColor or TrueColor graphic mode.
62 @node installation "Installation"
64 Use the supplied installer script to install Apdf and/or the Voyager
65 plugin. Then load the Test.pdf document to check your fonts
68 To uninstall Apdf, just delete its directory.
70 To uninstall the plugin, delete Vpdf.VPlug and Data/Vpdf.config from
71 Voyager's "Plugins" subdirectory.
76 @node configuration "Configuration"
78 There is one important thing to configure to make Apdf or the Voyager
79 plugin usable: the font map.
81 The install script should have taken care of the fonts, provided that
82 you had either the Apdf_fonts.lha archive or a Ghostscript installation.
83 You can check that with the test.pdf document. If this doesn't work, see
84 @{"Fonts" link fonts}.
90 @node starting "Starting Apdf"
94 Just type "Apdf" in a shell to start Apdf. A requester asking for a
95 document will open. To view the file "myfile.pdf", you can also type
98 The complete command template is:
100 PDFFILE,P=PAGE/K,Z=ZOOM/N/K,C=CONFIG/K,MODULE/K,NOPOWERUP/S
102 PDFFILE is the name of the file to display.
104 PAGE is the page to display. If the document uses
105 custom page labels, this argument should either
106 be one of those custom labels, or a decimal
107 number preceded by the "#" sign (to override
108 the custom scheme). Defaults to the first page.
110 ZOOM is the zoom factor, from -5 to 5. Defaults to 1.
112 CONFIG is the name of the configuration file to use.
113 Defaults to "PROGDIR:Apdf.config".
115 MODULE is the name of the 68k or PPC module to use.
116 Defaults to whatever is the most suited for the
117 configuration among the modules in "PROGDIR:".
119 NOPOWERUP tells Apdf not to try to use a PPC module.
121 PUBSCREEN specify the public screen to use.
123 Before parsing the arguments, Apdf will look in its icon and then in the
124 document's icon for tooltypes with those names (except "PDFFILE"). If
125 some are found, their values override the defaults values.
128 @{u}From Ambient:@{uu}
130 To start Apdf from Ambient, double click on its icon. This will
131 open a requester where you can select the document do view. You can also
132 click once on Apdf's icon and double click on the PDF document while
133 holding the shift key, or Apdf can be used as the default tool of a PDF
136 Apdf supports the "PAGE", "ZOOM", "CONFIG", "MODULE", "NOPOWERUP", and
137 "PUBSCREEN" tooltypes with the same meaning as the corresponding cli
138 arguments The tool types stored in Apdf's icon are read first, and are
139 overridden by those of the document's icon.
141 A document icon can also contain other tooltypes, configured in the
142 @{"Document Settings" link docsettings}.
144 To quit Apdf, just close its window. You can also use the commodity
145 interface, send a "QUIT" command from ARexx, or send a CTRL-C signal.
150 @node fontmapsyntax "FONTMAP"
152 Note: the fontmap format has changed ! Since Apdf can no longer use
153 Amiga fonts, the old fontmaps are useless anyway.
156 FONTMAP arguments use the following format:
158 pdf_font_name/actual_font_file[type]
162 'T1' for Type1 fonts.
163 'TT' for TrueType fonts.
165 There @{b}must@{ub} be a type field.
172 Apdf no longer uses the standard Amiga font system to display text.
173 Instead it as internal support for Type1/1C and TrueType fonts. This
174 allows higher quality rendering and support for embedded fonts, but
175 requires that you install some of those fonts. This also means that the
176 fontmaps used by previous versions can no longer be used with Apdf 2.0.
177 However, given the support for embedded fonts, fontmaps are much less
180 You can find freely distributable Type1 fonts in the fonts archive of
181 the Ghostscript distribution, or in the Apdf_fonts.lha archive, which is
182 a subset of the Ghostscript fonts archive. You should at least install
183 equivalents for the following 14 fonts PostScript fonts:
185 PostScript font | Ghostscript equivalent
186 -------------------------+--------------------------
187 Helvetica | n019003l.pfb
188 Helvetica-Bold | n019004l.pfb
189 Helvetica-Oblique | n019023l.pfb
190 Helvetica-BoldOblique | n019024l.pfb
191 Times-Roman | n021003l.pfb
192 Times-Bold | n021004l.pfb
193 Times-Italic | n021023l.pfb
194 Times-BoldItalic | n021024l.pfb
195 Courier | n022003l.pfb
196 Courier-Bold | n022004l.pfb
197 Courier-Oblique | n022023l.pfb
198 Courier-BoldOblique | n022024l.pfb
199 Symbol | s050000l.pfb
200 ZapfDingbats | d050000l.pfb
202 The fonts in the right column are those in the Apdf_fonts.lha archive.
205 It may also be a good idea to install the following 25 additional
206 Postscript fonts, although the PDF specifications don't require them,
207 since they are often used. They also have equivalents in the Ghostscript
208 fonts archive (except for the Helvetica-Condensed family, AFAIK).
211 PostScript font | Ghostscript equivalent
212 --------------------------------+--------------------------
213 AvantGarde-Book | a010013l.pfb
214 AvantGarde-BookOblique | a010033l.pfb
215 AvantGarde-Demi | a010015l.pfb
216 AvantGarde-DemiOblique | a010035l.pfb
217 Bookman-Demi | b018015l.pfb
218 Bookman-DemiItalic | b018035l.pfb
219 Bookman-Light | b018012l.pfb
220 Bookman-LightItalic | b018032l.pfb
221 Helvetica-Narrow | n019043l.pfb
222 Helvetica-Narrow-Oblique | n019063l.pfb
223 Helvetica-Narrow-Bold | n019044l.pfb
224 Helvetica-Narrow-BoldOblique | n019064l.pfb
225 NewCenturySchlbk-Roman | c059013l.pfb
226 NewCenturySchlbk-Italic | c059033l.pfb
227 NewCenturySchlbk-Bold | c059016l.pfb
228 NewCenturySchlbk-BoldItalic | c059036l.pfb
229 Palatino-Roman | p052003l.pfb
230 Palatino-Italic | p052023l.pfb
231 Palatino-Bold | p052004l.pfb
232 Palatino-BoldItalic | p052024l.pfb
233 Helvetica-Condensed |
234 Helvetica-Condensed-Bold |
235 Helvetica-Condensed-Oblique |
236 Helvetica-Condensed-BoldObl |
237 ZapfChancery-MediumItalic | z003034l.pfb
240 If you have the original Postscript fonts, and their filenames match
241 exactly the names in the left columns above (optionally with ".pfa" or
242 ".pfb" appended), you don't need to configure a fontmap.
244 If you use the Ghostscript replacements, either from the Apdf_fonts
245 archive or from the Ghostscript distribution, the installation script
246 builds the fontmap automatically.
248 In any other cases, you have to configure the fontmap yourself. There
249 are two things to do:
251 1) go the "Global settings" menu entry, and then to the @{"Fonts dirs" link glbprf_fontdirs}.
252 page, and enter the list of directories that contain your fonts.
254 2) go to the "Font map" page of the same window and see @{"here" link fontmap}.
258 Below is a complete description of the way Apdf selects the font to use.
259 It may seem complex, but it is quite simple to use. You don't have to
260 read this explanation to use Apdf, but it can help you build powerful
264 When a document asks for the font "XYZ" (e.g. "Helvetica") of type T
265 (e.g. Type1), Apdf does the following:
267 1) look in the current fontmap for "XYZ" (the document-specific fontmap
268 first, and then the global one if necessary). If it is found, use
269 replace "XYZ" by the name given in the fontmap and T by the
270 corresponding type, and go on.
272 2) if "XYZ" was not in the fontmap, and the font is embedded in the
273 document and T=Type1, Type1C, Type3, or TrueType, use this embedded
276 3) otherwise if T=Type1 or TrueType, in each directory listed in the
277 "font dirs" listview in the preference window do:
278 - try to open file "XYZ". If found use that font.
279 - otherwise, if "XYZ" does not contain an extension (e.g. ".pfb"),
280 try to open "XYZ.pfb" or "XYZ.pfa" (if T=Type1), and "XYZ.ttf" if
281 (T=TrueType). If one is found, use it.
283 4) otherwise, look at the properties specified in the document for the
284 font: fixed width, serif, script, all caps, small caps, italic, or bold.
285 Apdf builds a font name by concatenating the property names above, in
286 the above order, separated by ", ", and enclosed between "« " and " »"
287 (e.g. a font that has the "bold" and "small caps" properties, would lead
288 to the name "« small caps, bold »"). Then the name built is searched in
289 the fontmap (document specific one first, then global one, and then the
290 internal one (*)), and if it is found, "XYZ" is replaced by the mapped
291 font, and points 1) and 3) are repeated.
293 5) if there is still no font found, point 4) is repeated, ignoring
294 the "small caps" property, then ignoring also the "all caps" property,
295 and then the "script" property.
299 (*) The internal fontmap contains the following entries:
301 « italic » -> Helvetica-Oblique
302 « bold » -> Helvetica-Bold
303 « italic, bold » -> Helvetica-BoldOblique
304 « serif » -> Times-Roman
305 « serif, italic » -> Times-Italic
306 « serif, bold » -> Times-Bold
307 « serif, italic, bold » -> Times-BoldItalic
308 « fixed width » -> Courier
309 « fixed width, italic » -> Courier-Oblique
310 « fixed width, bold » -> Courier-Bold
311 « fixed width, italic, bold » -> Courier-BoldOblique
318 Apdf implements a basic caching system to speed up document loading.
319 This system can be controlled by two parameters, CACHESIZE and
320 CACHEBLOCKSIZE, that represent memory amounts in Kbytes. Setting them to
321 "good" values can improve Apdf's performance a lot.
323 CACHESIZE determines the maximum amount of memory that is used by Apdf
324 for caching purposes. If CACHESIZE is zero, or if a document's size is
325 smaller than CACHESIZE, the document will be fully loaded in memory and
326 kept there until you quit Apdf or load another document.
328 If CACHESIZE if non-zero or if the document is too big, Apdf will keep
329 at most N=CACHESIZE/CACHEBLOCKSIZE blocks of BLOCKSIZE Kbytes in memory.
330 When a part of the file that is not in memory is needed and Apdf already
331 has the maximum number of blocks, it frees the one that was not accessed
332 for the longest period, and replaces it by the new one.
334 In any cases, Apdf won't use more memory than what is actually needed.
336 The parameters that give the best performance depend on a lot of
340 - the filesystem (FFS is slow)
341 - the parameters of the filesystem (block size, buffers,...),
342 - whether or a caching program is used,
343 - the speed of the processor,
344 - the particular document you are trying to load.
346 Depending on your system, you'll have to try different settings to find
347 which parameters are the best for you. Some rules of thumb are:
349 - If you have lots of memory and don't have a too slow disk, setting
350 CACHESIZE=0 is probably the fastest.
351 - otherwise, the bigger CACHESIZE is the better.
352 - using too big values for CACHEBLOCKSIZE can reduce the speed.
353 - the ratio CACHESIZE/CACHEBLOCKSIZE should be "big enough".
355 By default, Apdf uses CACHESIZE=256 and CACHEBLOCKSIZE=4.
362 @{" Main window " link mainwin}
363 @{" Menus " link menus}
364 @{" Keyboard shortcuts " link shortcuts}
365 @{" Save window " link savewin}
366 @{" Global settings window " link glbsettings}
367 @{" Document settings window " link docsettings}
368 @{" Fonts windows " link scanfonts}
369 @{" ARexx " link arexx}
375 @node mainwin "Main window"
377 The current page of the document is displayed in the upper part of the
378 window. Dragging the mouse with the left button pressed selects a part
379 of the text. You can copy the text selected to the clipboard with the
380 'Copy' menu. You can also use the selection box as a "crop box" (see
381 @{"Menu" link menus}/Crop).
383 Pressing the left mouse button while holding the CTRL key, or holding
384 the middle mouse button, magnifies the part of the document under the
385 mouse. The "lens" follows the mouse until the button is released.
387 If the mouse is moved over a link, its destination will be displayed in
388 the lower right corner of the window. Clicking on the link activates it.
389 If the link is an URL, the command specified with the URLCmd option is
392 The gadgets let you choose the current page and zoom factor. The "Back"
393 and "Forward" buttons allows navigation inside the history of already
396 You can enter a string to search in the 'Search' gadget. The search is
397 not case sensitive. It starts after the current selected area, or at the
398 top of the page if nothing is selected. If the end of the document is
399 reached before the string is found, the begining of the document will be
400 searched, until the position where the search started. If the string is
401 found, it will be selected. Pressing the 'Next' button will search the
402 next occurence of the same string.
404 Dropping an icon in the main window loads the corresponding document.
413 "About" - show some informations about Apdf/Xpdf.
414 "About MUI" - show the standard MUI information window.
415 "New Document" - open a new document in a new window.
416 "New View" - open another window with the same document.
417 "Open" - open a new document in the current window.
418 "Save as" - open the @{"Save window" link savewin}.
419 "Print" - open the @{"Save window" link savewin} with filename
420 set to the device selected in the
421 @{"Global Settings/General" link glbprf_general} window and mode
423 @{b}Attn: you must have a Postscript printer, or a
424 device that transparently converts postscript for
425 your printer for this to work.@{ub}
426 "Save form as" - save the content of the fields of a PDF form to a
428 "Import FDF" - fill a PDF form with the content of a FDF file.
429 "Hide" - iconify Apdf.
434 "Copy" - copy the selected text in the clipboard.
438 "Refresh" - redraw the current page. Useful if you use the
439 "fit page" or "fit width" zoom modes, resize your
440 window, and want the page to be scaled accordingly.
441 "Crop" - cut the current view along the selected box.
442 "UnCrop" - restore the full page size.
443 "Rotate left" - rotate the view 90° on the left.
444 "Rotate right" - rotate the view 90° on the right.
446 "Remove row" | control the number and layout of visible pages.
449 "Informations" - show some informations about the document.
450 "Outlines" - show the document outlines, if available.
451 "Fonts" - shows the fonts used in the document. See @{"here" link scanfonts}.
452 "Error log" - show the latest error messages.
456 "Global Settings" - open the @{"Global Settings window" link glbsettings}.
457 "Document Settings" - open the @{"Document Settings window" link docsettings}.
458 "MUI" - open the @{"MUI" link mui} preference editor.
459 "Text anti-aliasing" - control @{"anti-aliasing" link aa} for the text.
460 "Strokes anti-aliasing" - control @{"anti-aliasing" link aa} for lines drawing.
461 "Fills anti-aliasing" - control @{"anti-aliasing" link aa} for polygon filling.
462 "Continuous" - display the document as a big vertical strip
463 - containing all pages.
464 "Display mode" - choose the way the pages are rendered:
465 "One pass" - render the whole page in memory and
466 update the display only when done.
467 "Text first" - first display the page ignoring all
468 inline pictures, then build the full
469 page image in memory and update when
471 "Progressive" - render the page in memory in one go,
472 but periodically update the display
473 to show the current state.
474 "Show navigation bar" - show/hide the first line of buttons (page
475 number slider and history navigation).
476 "Show tool bar" - show/hide the second line of buttons (zoom
477 selection, search tool, URL display).
478 "Full screen" - switch to full screen mode: don't display
479 any window or gadget.
484 @node aa "Anti-aliasing"
486 Apdf now has a basic anti-aliasing system. Anti-aliasing is a technique
487 that makes use of color shades to make the resolution seem higher than
490 The implementation used in Apdf is really basic, and assumes that the
491 graphic element to render is put on a uniform background. If this is not
492 the case, anti-aliasing can make things look worse instead of improve
493 them. In that case, you should turn anti-aliasing off.
495 Also note that anti-aliasing will probably not look good on screens with
496 low depth, or low resolution.
501 @node shortcuts "Keyboard shortcuts"
503 The following shortcuts are supported in the main window @{b}when the active
504 object is the document page@{ub}. That means that if a string gadget is
505 active you have to deactivate it first with the appropriate MUI shortcut
506 (Ctrl-Tab by default).
508 space - scroll down, skipping to next page if needed.
509 backspace - scroll up, returning to previous page if needed.
510 '+' - increase the zoom factor.
511 '-' - decrease the zoom factor.
516 shift+Fn - set a bookmark
517 Fn - got to a bookmark
519 The following MUI shortcuts (configured by the MUI preference editor)
522 Up - scroll up, returning to previous page if needed.
523 Down - scroll down, skipping to next page if needed.
524 PgUp - previous page.
529 Also, the middle mouse button, or Ctrl+left mouse button, trigger a
532 Note that pressing the Help key over a gadget loads the page of this
533 guide related to it (if Apdf.guide is in PROGDIR:).
538 @node savewin "Save window"
540 This window allows you to select parameters to save a part of a PDF
541 document in another format.
543 There are several possible save modes:
545 In "text" mode, all the graphics/pictures/fonts... are ignored. The
546 resulting file will contain plain ASCII text.
548 In "image" mode, the text is ignored. In this mode, apdf outputs one
549 file per image in the selected pages. If the filename selected in the
550 "file" gadget is "abc", the resulting files will be named "abc-nnn.xxx",
551 where nnn is a number and xxx is either "ppm", "pbm", or "jpg",
552 according to the picture format used. If the selected mode is
553 "PBM/PPM/JPEG", and a picture is stored in the DCT format in the PDF
554 file, it is saved as a jpeg file. Otherwise, monochrome pictures are
555 saved as PBM files and non-monochrome ones as PPM files. There are
556 datatypes on Aminet for all those formats.
558 In "Postscript" mode, both text and graphics are saved. The "Postscript
559 level 1" mode creates files that are bigger and in which images are
560 converted to black and white, but which can be used with level 1
563 The zoom and rotation parameters are only used in Postscript mode.
568 @node arexx "ARexx interface"
570 In addition to the standard ARexx commands provided by MUI, Apdf has the
573 OPEN FILE/A,P=PAGE/K,Z=ZOOM/N/K,R=ROTATE/N/K
575 It opens the specified PDF file in a new window, with the given
581 @node glbsettings "Global Settings Window"
583 The global settings window let you configure some parameters used by
584 Apdf. Those settings are saved in a config file:"PROGDIR:Apdf.config"
585 for Apdf (unless overriden by the CONFIG tooltype), and
586 "PROGDIR:Plugins/Data/Vpdf.config" for the plugin.
588 This window is organized as a register containing four pages:
590 @{" General " link glbprf_general}
591 @{" Font directories " link glbprf_fontdirs}
592 @{" Font map " link fontmap}
593 @{" Advanced " link glbprf_advanced}
595 Below are the three buttons usually found in configuration windows:
597 "Save" - make the new settings active and save them in the config file
598 "Use" - make the new settings active.
599 "Cancel" - close the settings window, forgetting all changes.
604 @node glbprf_general "General Settings"
606 This page lets you adjust the following settings:
608 * URL command. (Apdf only)
610 This is the command used when you activate a URL style link. The
611 string entered should contain a "%s", that is replaced by the URL. It
612 should name a command that starts your prefered Web browser. Defaults to
615 * Temp. directory. (Plugin only)
617 Directory used to store temporary files. Don't use a RAM disk here,
618 use a big cache size instead.
622 The device used as destination when you select the "Print" menu item.
623 This device should be able to print Postscript files. To use a
624 Postscript printer, this may be "PAR:". To use with Turboprint, this
625 should be "PS:". Defaults to "PRT:".
627 * Default icon. (Apdf only)
629 This icon is added to documents that don't have one, when trying to
630 save document specific settings. Don't include the ".info" suffix.
631 Defaults to "ENV:Sys/def_pdf".
635 The color used to draw the selection box. Defaults to red.
639 The three checkboxes reflects the state that should have the
640 anti-aliasing parameters at program startup.
642 * Auto open log. (Apdf only)
644 If this gadget is checked, the Log window is opened everytime a new
645 message is added to it. If it is not, you will not be warned when an
646 error occurs (you can still view the messages by opening the window
647 yourself via the "Open log" menu).
651 The initial state of the "Continuous" menu item.
655 The initial display mode.
659 The default number of columns.
663 The default number of rows.
669 @node glbprf_fontdirs "Font directories"
671 This page contains the list of directories in which Apdf searches when
672 it need fonts. These directories should contain Type1 (.pfa or .pfb) or
673 TrueType (.ttf) fonts. You @{b}must@{ub} set at least a valid entry in this list,
674 or Apdf won't be able to display any text that has not its font embedded
677 See @{"Fonts" link fonts} for details.
682 @node fontmap "Font map"
684 The fontmaps let you describe the relation between font names as they
685 are given in PDF documents (Postscript font names), and font files that
686 should be used to actually display the text.
688 For instance, if you use the fonts in the Ghostscript distribution, the
689 name of the file that contain a replacement for the "Helvetica" font is
690 "n019003l.pfb". As Apdf can not guess that, you have to tell it. This is
691 done by adding a fontmap line, with "PDF Font" set to "Helvetica" (case
692 sensitive), "Font" set to "n019003l.pfb" (case insensitive, as it's a
693 filename), and "Type" set to "Type1" (Apdf could guess that last bit,
694 but it currently doesn't).
696 If font's filename is equal to its PDF name (upto case and a ".pfa",
697 ".pfb", or ".ttf" extension), there is no need to enter that font in the
701 PDF specifications require that the following 14 fonts are available:
703 Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique
704 Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic
705 Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique
709 - If you have those Type1 fonts, with filenames matching the font
710 names, you don't need a fontmap.
711 - If you have the Ghostscript replacements, either from the
712 Ghostscript distribution, or from the Apdf_fonts.lha archive, the main
713 Apdf archive contains a config file that already has the correct
714 fontmap. The installer script should have installed that config file as
716 - Otherwise, you have to enter a fontmap for those 14 fonts by
719 There are two fontmaps: the global one in the @{"General Settings" link glbsettings} window,
720 and a document specific one, in the @{"Document Settings" link docsettings} window.
723 See @{"Fonts" link fonts} for details.
728 @node glbprf_advanced "Advanced Settings"
730 This page lets you adjust the following settings:
734 This is the directory where modules are searched. For Apdf, changes to
735 this setting are not applied until the program is quitted and restarted.
736 For the Voyager plugin, they are applied immediately only if no module
737 has been loaded yet (indicated on the "About" page of the plugin
738 preference object). Defaults to PROGDIR: for Apdf, and to
739 PROGDIR:Plugins for the Voyager plugin.
743 This is the module used by Apdf to decode PDF files. Usually Apdf uses
744 the one in the modules directory that is the "best match" for your
745 hardware. You can use this setting to override this choice. Changes to
746 this setting are applied as with the "Modules dir" parameter. Be
747 careful: setting this parameter to an invalid filename will cause Apdf
748 to refuse to start. You'll have to explicitely use the CLI "MODULE"
749 argument to override this setting, to be able to start Apdf and make a
750 correction. The plugin doesn't have this problem.
752 * DiskObject. (Apdf only)
754 This is the name of the icon used when Apdf is iconified, without the
755 ".info" suffix. Changes to this setting are not applied to the current
756 session. Quit & restart. Defaults to "PROGDIR:Apdf".
758 * Max colors per picture.
760 This is the maximum number of colors that Apdf should try to allocate
761 when remapping inline images. Note that this does not limit the total
762 number of colors that Apdf allocates to show a page. First because a
763 page can contain several inline pictures, and second because colors
764 allocated to draw text, draw lines, fill polygons, or for anti-aliasing
765 are not concerned. This parameter is ignored in HiColor and TrueColor
766 modes. Defaults to 16.
768 * Cache size & cache block size.
770 Control cache parameters. Setting the "Cache size" slider completely
771 on the right ("Load all" position) means: completely load documents into
772 memory. See @{"Cache" link cache} for details.
776 After building a page image in fast RAM, build a Cybergraphics BitMap
777 from it. This allows the graphic card's blitter to be used for
778 subsequent rendering of this page (and thus, e.g. faster scrolling),
779 *if* there is enough free graphic memory. Keep in mind that such a
780 bitmap can be *big*, and that this option only wastes time if it doesn't
781 fit in the card's memory together with the screen bitmap. If in doubt,
782 leave this gadget unchecked.
786 Don't use more than 3 bytes per pixel for internal representation of a
787 page image, even if the screen's native format uses 4 bytes per pixel.
788 This is slower, but requires less memory. If you really want to spare
789 memory, you should consider using a 15/16 bits screen mode instead (2
794 Delay between two graphic updates in "Progressive" display mode.
795 Refreshing the display takes time, so setting this too low increases the
796 overall time needed to fully display the page. On the other hand,
797 setting it too high will make you wait more before anything appears on
803 @node docsettings "Document Settings Window"
805 The document settings window let you configure some document specific
806 parameters. Those settings are saved as tooltypes in the document's
809 This window is organized as a register containing two pages:
811 @{" General " link docprf_general}
812 @{" Font map " link fontmap}
814 Below are two buttons:
816 "Save" - save the settings in the document icon.
817 "Use" - make the new settings active.
822 @node docprf_general "General document settings"
824 This page lets you adjust the following settings, with the tooltype used
829 The page at which the document should be opened by default.
831 * Zoom (ZOOM=z, z=-5,...,5, FITPAGE, or FITWIDTH).
833 The zoom factor to use by default for this document.
835 * Rotate (ROTATE=r, r=0, 90, 180, or 270).
837 The rotation parameter to use by default for this document.
839 * Anti-aliasing (ANTIALIASING=flags, flags among TEXT, FILL, and STROKE,
842 The three checkboxes reflects the state that should have the
843 anti-aliasing parameters when opening this document.
845 * Crop box (MARGINS=left/top/right/bottom).
847 The margins to use when opening this document. You probably don't want
848 to set numeric values directly, here. Instead, set the crop box in one
849 of the views of this document, and drag-drop the "Grab" button in that
853 Note that those settings only have effect when a document is loaded, so
854 the "Use" button is useless for this page.
859 @node scanfonts "Fonts window"
861 This window lets you view the list of fonts used by a document, or a
862 part of it, and their properties. This helps configuring fontmaps.
864 Select a page range with the two sliders at the bottom of the window,
865 and press the "Scan" button. The list of fonts used in this page range
866 will be added to the list.
868 The columns of the list contains the following informations:
870 - PDF font: the name of the PDF font. This is the name to use in a
871 fontmap to associate a file to this font.
873 - Type: the type of this font (Type0, Type1, Type1C, Type3, TrueType,
874 or unknown). Apdf can't handle Type0 fonts.
876 - Emb: checked if the font is embedded in the document. You usually
877 don't want to use fontmaps to substitute an external font when the font
878 is embedded, unless it is of type Type0.
880 - Properties: various properties of the font (serif, italic, ...). It
881 is usually better to substitute a font with matching properties. Note
882 that lots of documents don't contain the correct properties for the 14
883 base fonts (see @{"Fonts" link fonts}), and this is allowed by the PDF specifications.
884 Some documents also don't include valid descriptions for the Arial or
885 TimesNewRoman fonts, or for embedded fonts, and this is not correct.
887 Dropping an entry of this listview into a fontmap listview will add a
888 new entry with the "PDF font" field set.
895 Apdf using @{"MUI" link "Readme.mui/Main"}, it supports all features common to MUI applications,
896 such as configuration, screen handling, iconification, commodity
897 interface, arexx... See MUI documentation for details.
902 @node morphos "MorphOS"
904 MorphOS is an operating system for PowerPC boards, containing an
905 AmigaOS(tm) emulation box. It allows running system-friendly Amiga 68k
906 programs, together with native PowerPC programs, in an AmigaOS(tm)-like
907 environment. It allows mixing 68k and PPC code without the slowdowns due
908 to context-switches that both PowerUp and WarpUp have.
910 When run under MorphOS, Apdf is a fully PowerPC native program (while
911 the user interface is 68k code with PowerUp/WarpUp). For optimal
912 performances, also install the PowerPC version of MUI for MorphOS.
914 See http://www.morphos.de for more details.
919 @node faq "Questions and answers"
922 Q: I only get black and white pictures. Where are the colors ?
924 A: You are using a colormapped screen mode (i.e. 8 bits or less). These
925 modes are only supported using gray levels in Apdf 3.1, as the new
926 graphic engine is oriented toward Hi/TrueColor modes. Proper support
927 for those modes may or may not be restored later, don't hold your
928 breath. And please *don't* mail me to complain about that.
931 Q: Where is the decryption module ?
933 A: You don't need one anymore.
936 Q: Apdf only shows blank pages. What's the problem ?
938 A: The font directories or the fontmap are not correctly configured. Use
939 the test.pdf document to check that. See @{"Fonts" link fonts}.
942 Q: I use the PPC version on my CSPPC 604e/233, and Apdf crashes
943 randomly. What's the problem ?
945 A: You may be suffering of the "LR bug", which seems to be a consequence
946 of overheating. Check hard/misc/CSPPC233Fix.lha on Aminet. If that
947 doesn't solve your problem, please report it.
950 Q: The 'Back' and 'Forward' buttons don't work.
952 A: Yes, they do. They are for @{b}history@{ub} navigation, not to go to
953 the previous/next page. Click in the page number slider, left or right
954 of the knob for that.
957 Q: Can you add direct printing support ?
959 A: Maybe later. You should really use Ghostscript for printing PDF
960 documents anyway. If I add this feature, it will not give results as
961 good as what Ghostscript does, because the graphic engine of Apdf is too
962 limited to handle resolutions as high as what typical printers have
963 nowadays, and I have no intention to rewrite this engine.
966 Q: Can you add a 'saving as iff' feature ?
968 A: Maybe later. Ghostscript can save to various image formats too.
971 Q: The 'save as jpeg' feature doesn't work.
973 A: Yes it does. It isn't meant to save the whole page, only embedded
977 Q: How can I make Apdf as fast as possible ?
979 A: - avoid color mapped graphic modes (depth <= 8). The best choice is
980 probably to use 15 or 16 bits modes. 24 or 32 bits modes are fast too,
982 - Set the @{"Advanced settings/Cache size" link glbprf_advanced} gadget on "Load all".
983 Don't expect miracles from 68k processors though. While 68040/68060 can
984 handle text-only pages quite fast, they will be slow on pages with big
985 embedded pictures. A PowerPC processor is a big win here.
990 @node prob "Known problems"
992 Known bugs (hopefully harmless):
994 - When stroke anti-aliasing is on, sometimes the space between two lines
995 is filled when it should not.
997 - When a path is used for clipping and stroked, some edges may disappear
998 (especially horizontal edges).
1001 Not really bugs, but non-optimal behaviour:
1003 - Patterns are not implemented for thick or anti-aliased lines yet.
1008 @node legal "Legal informations"
1010 The PDF data structures, operators, and specification are copyright 1995
1013 Xpdf is © 1996-2005 by Glyph & Cog, LLC.
1014 See http://www.foolabs.com/xpdf/
1016 Amiga specific parts of Apdf are © 1999-2005 by Emmanuel Lesueur.
1018 Apdf uses @{"MUI" link "Readme.mui/Main"}. MUI is © 1992-2005 by Stefan Stuntz.
1020 Apdf uses some parts of the release 2.1.2 of the FreeType project
1021 (© 1996-2002 by David Turner, Robert Wilhelm, and Werner Lemberg). See
1022 http://www.freetype.org
1024 The font embedded in the Test.pdf document is "Utopia Medium", and is:
1025 Copyright (c) 1989 Adobe Systems Incorporated
1027 Utopia is a registered trademark of Adobe Systems Incorporated
1029 Voyager 3.0 is © 1995-1999 Oliver Wagner. See http://www.vapor.com
1035 @node distribution "Distribution"
1037 Apdf is released under the @{"GNU General Public License version 2" link "Copying/Main"}.
1039 The fonts from the Apdf_fonts.lha come from Ghostscript, and have
1040 different distribution conditions: they are released under the
1041 @{"Aladdin Free Public License" link "fonts/PUBLIC/Main"}.
1046 @node source "Source"
1048 The source code for Apdf can be found on Aminet, in the
1049 gfx/show/Apdf_src.lha archive. You need a fairly complete GeekGadget
1050 environment to recompile Apdf.
1055 @node support "Support"
1057 Send bug reports to lesueur@club-internet.fr.
1059 Please make sure that you have read the @{"Questions and answers" link faq} and
1060 the @{"Known problems" link prob} sections, first.
1062 Apdf now has a support page at
1064 http://elesueur.free.fr/Apdf/
1066 This page will be updated to contain the list of reported bugs, possible
1067 workarounds (if any), and possibly beta releases. The main releases will
1068 still be uploaded to Aminet, though.
1071 The WWW address for the original Xpdf is
1073 http://www.foolabs.com/xpdf/
1078 Before reporting that the plugin does not work, make sure that you have
1079 read @{"this" link introduction}.
1084 @node future "Future"
1086 The following things are currently planed:
1088 - fix the known bugs.
1089 - enhance the anti-aliasing, to avoid thick gray horizontal or
1090 vertical lines instead of thin black lines.
1093 - add a 'save as iff' option.
1096 Some things that would be nice to implement, but are not currently on my
1100 - sound and movie annotations.
1103 - printing directly from Apdf, without the need for Ghostscript.
1108 @node thanks "Thanks"
1110 Many thanks to all the people who made the freely available software on
1111 which Apdf is based (see @{" Legal informations " link legal}):
1113 - Derek Noonburg, for Xpdf.
1115 - David Turner, Robert Wilhelm, and Werner Lemberg for the FreeType
1119 The test.pdf document was generated with the help of FastIO Systems'
1120 ClibPDF library (http://www.fastio.com).
1122 Thanks to Oliver Wagner and David Gerber for V³ and their help with the
1125 Thanks to Luca Longone for the icons.
1127 Thanks to the @{" ATO " link "ATO.readme/Main"} for the catalog translations.
1132 @node history "History"
1135 - Incorporated xpdf-3.01 changes.
1136 - No longer uses ppc.library under MorphOS.
1137 - Mouse wheel support.
1138 - Option to put outlines in the main window.
1139 - Option to automatically display the outlines.
1145 - Incorporated xpdf-3.00 changes, so that Apdf now supports PDF 1.5.
1146 - Support for negative page numbers.
1147 - gzip is no longer needed.
1148 - Support for encryption is now builtin.
1149 - Support for dash patterns on thick lines.
1152 - Incorporated xpdf-2.00 changes.
1153 - Switched to the freetype 2 to handle fonts (type1, truetype, etc.).
1154 - Now uses the freetype rasterizer instead of the T1lib one.
1155 - Rewrote the graphics engine. Now all text and vector graphics use
1156 real anti-aliasing, taking the actual background into account, which
1157 gives much better picture quality.
1158 Down side: 8 bits (or lower) modes are currently only supported through
1159 gray levels. This may or may not change, don't write to me about that.
1160 - Added the ability to view several pages at once.
1161 - Added a 'continuous' mode.
1162 - Added a 'full screen' mode.
1163 - Added support for reading (some) annotations.
1164 - Added (incomplete) support for PDF forms.
1165 - Added some progressive display modes.
1166 - Made the PDF decoding asynchronous, so that most actions can be
1167 performed without waiting for the display be completed.
1168 - Added support for rotated pictures.
1169 - Added support to take advantage of linearized files.
1170 - Added support for password protected files (untested).
1171 - Added options to hide the gadgets at the bottom of the window.
1173 - Added direct support for all cybergraphics pixel formats (this
1174 means in particular that 15/16 bits modes are handled faster, and
1175 use much less memory).
1176 - Added an option to save/print only even or odd pages.
1177 - Improved TrueType fonts encoding handling.
1178 - Added a simple bookmark system: shift-Fn marks the current page, Fn
1180 - Asynchrounous I/O.
1181 - Added an update mode to the installer script & fixed a bug.
1182 - Added a PUBSCREEN tooltype/argument.
1183 - The installer script can now recognize and configure fonts from the
1184 Windows distribution of AcrobatReader 3, 4, and 5.
1185 - Lots of other minor changes/bugfixes.
1188 - Removed "fit page" as the plugin default zoom mode. It
1189 can be set in the prefs window.
1190 - Fixed several PS conversion problem.
1191 - Fixed a nasty crash with AGA and big bitmaps.
1192 - Removed the borders around the lens.
1194 2.1 (internal release)
1195 - Fixed some localization bugs.
1196 - Fixed a problem with non standard date formats.
1197 - Added a "Print" entry in the plugin context menu.
1198 - Fixed a problem with PS conversion.
1199 - Removed the virtual group in "fit page" zoom mode.
1200 - Fixed miter join style.
1201 - Enhanced the installer script.
1202 - Enabled keyboard control of the outlines list.
1203 - Fixed a problem with AGA support.
1204 - Fixed a bug in the info window.
1206 2.0 (internal release)
1207 - Based on xpdf-0.90, which has basic support for PDF 1.3
1208 - Graphic engine completely rewritten:
1209 * internal support for Type1, Type3, and TrueType fonts,
1210 * support for embeded Type1, Type1C, and TrueType fonts.
1211 * anti-aliased fonts and graphics.
1212 * support for all text rendering modes (i.e. outlining and
1213 using text as clipping path).
1214 * support for font rotation.
1215 * faster, especially on PowerPC processors.
1216 * no longer uses any chip RAM.
1217 * Amiga fonts no longer supported.
1218 * Removed the use of PortLists functions. The PPC version
1219 should work with the ppclib emulation for WarpUp now.
1220 - GUI code completely reorganised, which allows:
1221 * ability to view as many pages of the same document as
1222 permitted by available memory.
1223 * ability to view as many documents as permitted by
1225 - Added a Voyager plugin.
1226 - Added a history of viewed pages.
1227 - Added two zoom modes ("fit page" and "fit width").
1228 - Support for document outlines.
1229 - Added a window showing basic informations about a document.
1230 - Added a "crop" function to suppress unused margins.
1231 - Added page rotation functions.
1232 - Speeded up the inline pictures rendering.
1233 - Fixed a stupid bug in color quantization code, which made it
1234 much slower than it should have been.
1235 - File paths translation, which should improve the handling
1236 of inter-documents links.
1237 - Implemented a custom memory manager (faster).
1238 - Added magnification.
1239 - Added a configure script to make recompilation easier.
1240 - Added a preferences editor, and replaced the tooltypes-based
1241 configuration by a config file.
1242 - Added an 'OPEN' ARexx command.
1243 - Added context dependent help.
1244 - Isolated encryption stuff in an external module.
1245 - Isolated LZW decompression in an external module.
1246 - Added support for page labels.
1247 - Error messages now go into a log window.
1252 - Fixed bug: Apdf used to scan one page more than it should in
1253 the fontmap/scan function. Could lead to crash/enforcer hits
1254 if the last page of the document was included in the scan range.
1255 - Fixed bug: Apdf put the internal defaults in the default fontmap,
1256 overriding the user defaults.
1257 - Now calls GetDiskObjectNew to get the default icon for a document
1258 that has none, when the icon specified by the DEFICON parameter
1260 - Added a menu item shortcut for iconification.
1261 - Fixed a bug in the gzip patch.
1262 - Increased the update rate of the progress gauges.
1263 - Added CPU informations in the "About" requester.
1264 - Now checks that it is run on the correct CPU (may still crash
1265 on 68000 or 68010, though).
1266 - Worked around a bug in the Workbench "default tool" code.
1267 - Fixed the DEFICON default value.
1269 1.2 (some parts of the preceding release were incorectly marked 1.1,
1270 so this release is 1.2 to avoid confusion)
1271 - Added a 68020/68030 archive, since the 68060 one doesn't work
1272 on those processors.
1273 - Added a basic cache system. Improves the speed a lot !
1274 - Starting Apdf with no argument now opens a requester.
1275 - Added support for documents with variable page size.
1276 - Added support for rotated pages.
1277 - Added progress bar and abort to the "search", "save", and "scan"
1279 - URLCMD now defaults to "OpenURL %s".
1280 - Added Up/Down MUI shortcuts.
1281 - Added AppWindow support.
1282 - Added the DISKOBJECT argument.
1283 - Page changes scroll back to the top of the page.
1284 - Fontmap scans no longer add several times the same entry.
1285 - The scan window now opens with sliders preset to the current page.
1286 - Added a "Print" menu, equivalent to "Save as" PRT: in postscript
1287 mode. @{b}Attn: this will only work if you have a Postscript printer
1288 or a printer driver that can interpret Postscript.@{ub}
1289 - The PPC task is no longer started at priority -1.