X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=html-doc%2Fmanual.html;h=743d81e73230c555f877b397fddc25a372f9d29a;hb=9f09269d8918dfa930543f4a15de4e7276719e5e;hp=7ff525516258f2fc64e45ce36f448f33092156d3;hpb=fd008f43f9e0848369972b0bc0e52129380e229b;p=xournal.git diff --git a/html-doc/manual.html b/html-doc/manual.html index 7ff5255..743d81e 100644 --- a/html-doc/manual.html +++ b/html-doc/manual.html @@ -24,7 +24,7 @@ Xournal User's Manual
- Version 0.3.2 + Version 0.4.7
@@ -38,13 +38,13 @@
Xournal can be downloaded at -http://math.mit.edu/~auroux/software/xournal/ +http://xournal.sourceforge.net/ or +http://math.berkeley.edu/~auroux/software/xournal/
Xournal aims to provide superior graphical quality (subpixel resolution) and overall - functionality; however it lacks the collaborative features of Jarnal. - Since Xournal is still in its early development stages, it may not - be fully stable, and some features have not been implemented yet. + functionality; however various advanced features have not been implemented + yet.
@@ -53,7 +53,7 @@ Xournal can be downloaded at
-Refer the next few sections of this manual for more information about +Refer to the next few sections of this manual for more information about the various functionalities.
+ To insert a new text item, click at the location where the text is to be + inserted on the page, then type it in or paste it using the contextual + menu (note: no wrapping is performed). To modify a text item, click inside + it. The font and point size can be modified using the "Text Font" command + in the Tools menu (or the toolbar button). The color is the same as that + currently selected for the pen (and can be modified using the toolbar + buttons). +
++ Text items can contain arbitrary Unicode characters, provided that a + suitable font is installed on your system. However, languages written + in a direction other than left-to-right might not be handled properly. + If a journal contains some items in a font that is unavailable on your + system, another one will be substituted. (Also, text items will be + lost if the document is opened in a version of Xournal prior to 0.4). + Finally, note that the printing and PDF export features only accept + TrueType and Type 1 scalable fonts (do not use any bitmap fonts), and + that the typesetting of the text may be slightly different in the + printout. +
++ To insert a new image (from a file on disk), click at the location + where the upper-left corner is to be located. A file selection dialog + box pops up. Alternatively, images can be pasted directly from the + clipboard (without having to select the image tool). In both cases, + the newly inserted image is selected, and can be easily moved or resized + as with any selection. +
The ruler is not a tool by itself, but rather a special operating mode @@ -133,17 +164,44 @@ the Tools menu): line segments instead of curvy strokes. For simplicity, selecting the ruler when not in pen or highlighter mode automatically selects the pen.
+ ++ The shape recognizer is also a special + operating mode of the pen and highlighter tools. When it is enabled, + Xournal attempts to recognize geometric shapes as they are drawn, and + if successful will replace the drawn strokes accordingly. The shapes + that can be recognized are: line segments, circles, rectangles, arrows, + triangles and quadrilaterals. Polygonal shapes can be drawn in a single + stroke or in a sequence of consecutive strokes. +
++ The recognizer is set to be as unobtrusive as possible, and should not + interfere too much with handwriting. (It differs in this and other ways + from another shape recognizer written for Xournal by Lukasz Kaiser). + As a result, it may only recognize shapes if you draw them carefully and + deliberately. Specific tips for better recognition: (1) for circles, + a closed curve that isn't quite round works better + than a rounder curve that doesn't close; (2) for arrows, it is better + to lift the pen before drawing the tip of the arrow, and make sure + the tip consists of two straight line segments; + (3) for very elongated rectangles, + recognition tends to be better if you lift the pen between consecutive + sides. +
- Each drawing tool (pen, eraser, highlighter) has a default setting
- (color, thickness, ...) associated to it.
- The "Default Pen", "Default Eraser", and "Default Highlighter" entries of
+ Each tool (pen, eraser, highlighter, text) has a default setting
+ (color, thickness, ... for the drawing tools, font and size for the
+ text tool) associated to it.
+ The "Default Pen", "Default Eraser", "Default Highlighter", and
+ "Default Text" entries of
the Tools menu select the appropriate tool and reset its settings to
the defaults. The toolbar also includes a "Default" button which
- resets the currently selected drawing tool to its default settings,
+ resets the currently selected tool to its default settings,
and a "Default Pen" button.
The "Set As Default" entry of the Tools menu takes the current settings
- of the currently selected drawing tool and makes them the new default.
+ of the currently selected tool and makes them the new default.
+ This tool lets you select an irregular shaped region of the current layer. + All the items which are entirely contained within the given region + are selected. As with the rectangle selection tool, the selection can be moved, + resized, copied and pasted. +
This tool lets you insert or remove vertical space within the page: @@ -234,6 +299,11 @@ the Tools menu): is most useful if your X server is configured to map the eraser tip of your tablet's stylus to button 1.
++ Also note the "Buttons switch mappings" option, which may be useful to + users of external tablets: when this option is turned on, buttons 2 and 3 + only switch the tool mapping, and drawing is still done with button 1. +
To capture a screenshot of a window or the entire screen and make it @@ -361,29 +432,15 @@ ghostscript) are automatically "attached" to the journal file: when the journal is saved, they will be saved (in PNG format) along with it (using file names of the form *.xoj.bg_*.png).
-
-Rescaling and anti-aliasing: by default,
-bitmap backgrounds are rescaled and anti-aliased as needed when the zoom
-level is changed, to ensure their appearance always remains acceptable.
-Because this consumes a lot of memory and CPU resources, by default this
-rescaling is performed on-demand as each page becomes visible. This means
-that you will occasionally notice bitmap backgrounds being smoothed while
-you are scrolling inside the document (at large zoom levels, this can slow
-down the screen refresh rate noticeably). If you'd prefer all backgrounds to
-be rescaled immediately upon changing the zoom level (slower but maybe more
-intuitive), disable the "Progressive Backgrounds" option in the Options
-menu.
-If you are handling large bitmaps, you can save memory and CPU resources (at the
-expense of quality) by disabling the "Antialiased Bitmaps" option in the Options menu.
-
Xournal can be used to annotate PDF files, by loading the pages of a PDF -file as backgrounds for a journal. This feature requires the -pdftoppm converter to be installed (this is part of the xpdf - PDF file viewer). +file as backgrounds for a journal. As of version 0.4.5 this is done using +the poppler library (previous versions used the +pdftoppm converter, which is part of the xpdf utilities or +the poppler utilities depending on distributions).
The "Annotate PDF" command in the File menu can be used to load a PDF file @@ -410,9 +467,10 @@ become visible on the screen (unless you disable the "Progressive Backgrounds" option in the Options menu). This means that you will occasionally notice the page backgrounds being updated while you are scrolling inside the document (at large zoom levels, it can take a while -for the updated background to appear). However, since the backgrounds are -generated asynchronously by a separate Unix process, you can keep drawing in the journal -while the update process is still in progress. +for the updated background to appear). +
It is strongly recommended that you do not resize PDF pages (using the @@ -428,53 +486,61 @@ possible to include pages from more than one PDF file into a single journal document. If you need to annotate two or more PDF files inside a same journal document, please consider using an external utility for merging PDF files (for example pdfmerge). +
++Note: the PDF backgrounds are +rescaled and/or regenerated as needed when the zoom level is changed. +Because this consumes a lot of memory and CPU resources, by default this +rescaling is performed on-demand as each page becomes visible. This means +that you will occasionally notice backgrounds being generated while +you are scrolling inside the document (at large zoom levels, this can slow +down the screen refresh rate noticeably). If you'd prefer all backgrounds to +be loaded in advance and rescaled immediately upon changing the zoom level, +disable the "Progressive Backgrounds" option in the Options menu. Be aware +that this increases the memory consumption and will cause out-of-memory +crashes when viewing long documents. +
+-Xournal uses the gnome-print architecture for printing. While it is very -powerful, some aspects of the API leave to be desired. As of version 0.3, -Xournal also includes a native PDF printing feature. +As of version 0.4.5, Xournal uses the gtk-print architecture for printing +(previous versions used gnome-print). Xournal also includes a native PDF +printing feature.
--The "Printer" tab of the print dialog box lets you select a printer -(either one of the printers installed on your system, or the generic -Postscript printer, or the PDF virtual printer). The "Job" tab lets you -select a range of pages to print (the default is to print the entire -journal). The "Paper" tab lets you select the paper size. Each page +The print dialog box lets you select a printer +(either one of the printers installed on your system, or the "Print to File" +virtual printer), and a range of pages to print (the default is to print +the entire journal). Each page of the journal is automatically rescaled so as to fit the paper size. -(minus a 5% margin all around).
-The settings are currently not saved properly from one print job to -the next, so make sure to select the appropriate printer and verify -the paper size. When printing to a file (Postscript or PDF), Xournal -attempts to pre-fill the output file name (for the Postscript driver -this often fails due to gnome-print API issues). +Unlike the older gnome-print architecture, gtk-print and poppler make it +possible to efficiently print files that annotate PDF backgrounds. (Prior to +version 0.4.5, PDF backgrounds had to be converted to bitmaps upon printing, +resulting in huge print jobs and low printout quality).
-Note that the PDF virtual printer produces files that are very large -and far from optimal, so its use is not recommended. -The gnome-print architecture also forces page backgrounds (bitmaps -and PDF) to be generated as uncompressed bitmaps, which leads to gigantic -print job files. A better alternative is to export a PDF file, and -print the PDF file. +The settings are currently not saved properly from one print job to +the next, so make sure to verify the settings.
-Starting with version 0.3, Xournal provides its own PDF rendering +Xournal also provides its own PDF rendering engine. The "Export to PDF" command (in the File menu) produces a -PDF-1.4 file from the currently loaded document. The resulting PDF -file is much more compact than those produced via gnome-print, and -its pages have the same size as in Xournal. Highlighter strokes +PDF-1.4 file from the currently loaded document. The pages of the +resulting PDF file have the same size as in Xournal. Highlighter strokes are rendered in a partially transparent manner (note however that applications such as xpdf and ghostview do not always handle -PDF transparency properly). +PDF transparency properly). Text items are rendered by embedding +TrueType subsets or Type 1 fonts into the PDF document as appropriate.
-Xournal also includes a PDF file parser compatible with PDF format -version 1.4; the compression features of PDF 1.5 (Acrobat 6) are +Xournal includes a PDF file parser compatible with PDF format +version 1.4; the compression features of PDF 1.5 are not supported. When exporting a document that uses PDF backgrounds, Xournal attempts to preserve most of the structure of the original PDF file (however, auxiliary data such as thumbnails, hyperlinks, @@ -484,17 +550,17 @@ PDF file is generated from scratch.
-Starting with version 0.3.2, Xournal's configuration settings can be -saved to a file (~user/.xournal/config) by using the "Save +Xournal's configuration settings are saved to the file +~user/.xournal/config by using the "Save Preferences" command in the Options menu. The settings saved in the configuration file include in particular:
Here is a partial list of configuration file settings: +
Display settings (in the [general] section):
User interface settings (in the [general] section):
Input device settings (in the [general] section):
Paper settings (in the [paper] section):
Tool settings (in the [tools] section):
Xournal is written by Denis Auroux
-(auroux@math.mit.edu).
-
It is distributed under the GNU General Public License.
+(auroux@math.berkeley.edu).
+
+The source code includes contributions by the following people: +Alvaro, Kit Barnes, Eduardo de Barros Lima, Mathieu Bouchard, +Ole Jørgen Brønner, Robert Buchholz, Vincenzo Ciancia, Luca de Cicco, +Michele Codutti, Robert Gerlach, Daniel German, Dirk Gerrits, Simon Guest, +Lukasz Kaiser, Ian Woo Kim, Timo Kluck, David Kolibac, Danny Kukawka, +Stefan Lembach, Bob McElrath, Andy Neitzke, David Planella, Marco Poletti, +Alex Ray, Jean-Baptiste Rouquier, Victor Saase, Marco Souza, Mike Ter Louw, +Uwe Winter, Lu Zhihe. +
+(Let me know if you are missing from this list or +if your name is mis-spelled)
++Xournal is distributed under the GNU General Public License (version 2, or +at your option any later version). +
++ Note: most of the code of version 0.4.2.1 + (excluding graphics and a few portions of the code) has also been released + under the MIT License. Please contact the main developer if + you need an MIT License version of the 0.4.2.1 code. Later versions are + not available under MIT License.
Feel free to contact me with bug reports and suggestions; I apologize in advance if I am unable to respond properly to some requests. -
If you find a sequence of operations which crashes Xournal in a reproducible manner, please send detailed instructions on how to reproduce the crash. A core file may also be helpful. @@ -528,6 +751,116 @@ Bug reports and suggestions can also be submitted on Xournal's
+Version 0.4.7 (July 4, 2012): +
+Version 0.4.6 (May 22, 2012): +
+Version 0.4.5 (Oct 2, 2009): +
+Version 0.4.2.1 (Mar 27, 2008): +
+Version 0.4.2 (Mar 25, 2008): +
+Version 0.4.1 (Sep 15, 2007): +
+Version 0.4.0.1 (September 3, 2007): +
+Version 0.4 (August 15, 2007): +
+Version 0.3.3 (January 31, 2007): +
Version 0.3.2 (November 25, 2006):
Xournal stores its data in gzipped XML-like files. The gzipped data consists of a succession of XML tags describing the document. By convention, the -first few lines contain a header in the following format: +file header and trailer look like this:
<?xml version="1.0" standalone="no"?> +<xournal version="..."> <title>Xournal document - see http://math.mit.edu/~auroux/software/xournal/</title> -<xournal version="..."/> +... sequence of pages ... +</xournal>The <title> and <xournal> tags may only appear within the file header (not within the pages of the document). The version attribute of the <xournal> tag indicates which version of Xournal was used to create the document; it is currently ignored, but may be used in a later release if the file format changes in an incompatible manner. +(Following a suggestion of Matteo Abrate, starting with version 0.4 the +<xournal> tag is the document's root tag, and encloses all other tags).
The rest of the file is a sequence of pages, specified by a @@ -698,15 +1035,15 @@ page of the PDF file. After the line specifying the background, the remainder of a <page> section is occupied by one or more layer sections
<layer> ... </layer>-describing the various strokes within a layer. Every page must +describing the various items within a layer. Every page must contain at least one layer; a layer may be empty. The successive layers are listed in their stacking order, from bottom to top.
-A layer consist of a collection of items, listed in the order in which +A layer consists of a collection of items, listed in the order in which they should be drawn (from bottom-most to top-most). -As of the current version, the only legal contents within a layer are +Up to version 0.3.3, the only legal contents within a layer are strokes. The format of a stroke is:
<stroke tool="..." color="..." width="..."> ... list of coordinates ... @@ -717,11 +1054,21 @@ The tool attribute can take the values "pen", "highlighter", or or whiteout eraser); a value of "highlighter" indicates that the stroke should be painted in a partially transparent manner (Xournal uses an alpha coefficient of 0.5). + +The color attribute can take one of the standard values "black", "blue", "red", "green", "gray", "lightblue", "lightgreen", "magenta", "orange", "yellow", "white", or can specify a hexadecimal RGBA value in -the format "#rrggbbaa". The width attribute is a floating-point -number and specifies the width of the stroke in points (1/72 in). +the format "#rrggbbaa". +
++The width attribute is a floating-point +number (or a sequence of floating-point numbers starting with version 0.4.2), +and specifies the width of the stroke in points (1/72 in). (For a +variable-width stroke, the width attribute contains a +whitespace-separated succession of floating-point values: first the +nominal brush width, and then the width of each successive segment forming +the stroke.)
The list of coordinates is simply a succession of floating-point values, @@ -740,35 +1087,61 @@ appropriate (otherwise the eraser tool will not interact properly with the stroke). The default precision used by Xournal for the x,y coordinates is 0.01 unit (1/7200 in).
+Starting with version 0.4, layers also contain text items. +The format of a text item is: +
<text font="..." size="..." x="..." y="..." color="...">... text ...</text> ++The font attribute contains the font name, for example "Serif Bold +Italic"; if the font is not available, another font will be substituted. +The size attribute specifies the font size in points. The x +and y attributes specify the coordinates of the top-left corner +of the text box in page coordinates (measured in points from the top-left +corner of the page). Finally, the color attribute contains either +the name of a standard color or a hexadecimal RGBA value (see above). + ++The contents of the text are encoded in UTF-8, with the characters +'&', '<', '>' replaced by &, <, +>. Whitespace and linefeeds are preserved (in particular, +no extraneous whitespace should be inserted between the enclosing tags +and the text itself). +
+Starting with version 0.4.7, layers can also contain image items. +The format of an image item is: +
<image left="..." top="..." right="..." bottom="...">... data ...</image> ++The left, top, right and bottom attributes +specify the bounding box to which the image is scaled, in page coordinates +(measured in points from the top-left corner). The data is in base64-encoded +PNG format (though any other base64-encoded format that can be loaded by +gdk-pixbuf is currently accepted).
Installation issues
Dependencies
The following libraries are required to run Xournal (they are standard on -modern Linux distributions such as Fedora Core 3 or later, or RHEL 4 or -later): +modern Linux distributions such as Fedora 6 or later, RHEL 5 or +later, Ubuntu 6.10 or later, etc.):
- Additionally: + Optional:
To compile Xournal, you also need the development packages for the above -libraries (packages gtk2-devel, libgnomecanvas-devel, libgnomeprint22-devel, -libgnomeprintui22-devel, and dependencies), as well as autoconf and +libraries (packages gtk2-devel, libgnomecanvas-devel, poppler-glib-devel, +and dependencies), as well as autoconf and automake.
-Binary installation in /usr/local:
-Run (as root) the installer script
-
./install-binary(and upgrade GTK+ and the other libraries if needed). - -
-Binary installation in home directory:
-Run (as any user) the installer script
-
./install-binary(and hope that the required libraries are -installed on your system). - -
Compilation and installation in /usr/local:
./autogen.sh make (as root) make install +(as root) make desktop-install
@@ -801,12 +1164,14 @@ make ./configure --prefix=$HOME make make install +make home-desktop-install
Configure error message:
-If autogen.sh generates the error message
+If configure generates the error message
-configure: error: Library requirements (gtk+-2.0 >= 2.4.0 libgnomecanvas-2.0 >= 2.4.0 libgnomeprintui-2.2 >= 2.0.0) not met
+configure: error: Package requirements (gtk+-2.0 >= 2.10.0
+libgnomecanvas-2.0 >= 2.4.0 poppler-glib >= 0.5.4) not met
even though you have sufficiently recent versions of these libraries on your
system, then you need to install some missing development packages.
@@ -831,8 +1196,15 @@ be higher by several orders of magnitude).
The configuration of tablet devices is controlled in the X server's -configuration file (usually XF86Config or xorg.conf depending on your -distribution). The ServerLayout section should contain lines like: +configuration file (usually /etc/X11/xorg.conf depending on your +distribution). The latest X servers can detect a tablet automatically and +do not require the presence of xorg.conf to work properly; so recent +distributions typically no longer includde such a file. However, if +auto-configuration fails, you can always create a xorg.conf that explicitly +specifies tablet devices. +
++Assuming you do have a xorg.conf, the ServerLayout section should contain lines like:
Section "ServerLayout" ... @@ -883,6 +1255,27 @@ installation instructions specific to your model: for example, the use USB instead; the BottomX and BottomY values correspond to the physical resolution of the tablet and will vary from one model to another. ++For historical reasons, most X servers do not allow the input device +designated as the "core pointer" in the X server's configuration file +to be used as an XInput extension device. Thus, your tablet input devices +should not be designated as the core pointer device. Instead, they +should be configured with the "SendCoreEvents" option, which enables them +to simultaneously generate XInput extension events and move the cursor on +the screen. +
++If you have a newer X server and no xorg.conf file, the input devices can be +configured using the xinput command. +
++Note: with older X servers, only tablet devices are XInput devices, while +a built-in pointing device or an external mouse would only act as the core +pointer. In newer X servers, all devices are handled through XInput (even +though without advanced capabilities), though mice and touchpads typically +send invalid event data. Xournal tries to work around the most common bugs +in input device drivers and GTK+ input event processing. +
The cursor doesn't appear in the right place...
If the mouse pointer does not follow accurately the position of the stylus, @@ -903,55 +1296,57 @@ appears right under the tip of the stylus).
Once you have found the perfect settings for your tablet, update your X -server's configuration file (due to issues with some versions of the -linuxwacom driver, the tablet calibration information is often not updated -properly when using xsetwacom). +server's configuration file or startup scripts.
-Important: due to issues with the linuxwacom driver, it is important -to either upgrade your driver to a patched -version, or restrict your choice of settings as follows: -
-This is due to misfeatures in the linuxwacom driver in versions prior -to 0.7.6. Typically, this will happen in all of the following cases: +If you experience this while trying to draw with a mouse, touchpad, or other +non-tablet device: +
-I have also had a report that one of the workarounds used by Xournal to -bypass a calibration bug in GTK+ can actually entirely prevent strokes -from being drawn. If you are being unsuccessful at drawing in Xournal -with XInput enabled, try recompiling after changing the first line of -src/main.c to -
#define ENABLE_XINPUT_BUGFIX 0-If this modification does improve things for you, and if you have a bit -of spare time to help investigate the causes of this problem, please -contact me. +If all else fails, you can disable XInput support in Xournal (in the +Options menu), at a price of a severe loss of resolution (and the eraser tip +won't be detected anymore). + +
+One of the workarounds used by Xournal to +bypass a calibration bug in old versions of GTK+ seems to be more harmful +than helpful with modern distributions. If you miss the old behavior or +are having XInput issues, try recompiling after uncommenting the line +
#define ENABLE_XINPUT_BUGFIX+near the beginning of src/xournal.h.
-You need an X server that supports the RANDR extension, and a -recent (0.7.6 or later) or patched +You need an X server that supports the RANDR extension, and a sufficiently +recent (0.7.6 or later) version of the linuxwacom driver to support on-the-fly rotation.
@@ -965,25 +1360,14 @@ To return to landscape mode: xrandr -o 0 xsetwacom set stylus Rotate none -Note: you should not rotate the display while Xournal is running, +Note #1: you should not rotate the display while Xournal is running, otherwise the tablet calibration in Xournal may (and most likely will) -become incorrect. +become incorrect. (Less likely to occur with modern distributions and +ENABLE_XINPUT_BUGFIX disabled). Exit Xournal and restart it after the display has been rotated.
- --This patch fixes rotation and calibration issues with the linuxwacom driver -version 0.7.0. -