diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2016-05-26 17:37:48 +0000 |
|---|---|---|
| committer | jabiertxof <info@marker.es> | 2016-05-26 17:37:48 +0000 |
| commit | 43bc2051d07eb88f0ef3bff36880d9b39e809cc5 (patch) | |
| tree | 18582075e686eb9bcc2e1af5ef9e2a4ceb19e65b | |
| parent | Fixing pointwise (diff) | |
| parent | [Bug #1538277] Translations in inkex.py fail unless extension script itself i... (diff) | |
| download | inkscape-43bc2051d07eb88f0ef3bff36880d9b39e809cc5.tar.gz inkscape-43bc2051d07eb88f0ef3bff36880d9b39e809cc5.zip | |
update to trunk
(bzr r13645.1.144)
74 files changed, 803 insertions, 963 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 4196781d9..a68b678c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ set(CMAKE_BUILD_TYPE_INIT "Release") project(inkscape) -set(INKSCAPE_VERSION 0.91+devel) +set(INKSCAPE_VERSION 0.92pre1) set(PROJECT_NAME inkscape) set(CMAKE_INCLUDE_CURRENT_DIR TRUE) if(APPLE) @@ -1,521 +1,446 @@ -649 lines -Inkscape 0.91 +583 lines +Inkscape 0.92 -(not released yet - AnnouncePlanning091) +(definitely not released yet - AnnouncePlanning092) Release highlights Released on «YYYY-MM-DD». - • Cairo rendering for display and PNG export - • OpenMP multithreading for all filters - • C++ code conversion - • Major improvements in the Text tool, typography extensions - • Measure tool - • Type design features - • Symbol library and support for Visio stencils - • Cross platform WMF and EMF import and export - • Improved support for Corel DRAW documents, Visio importer - • Support for real world document and page size units, e.g. millimeters - • Numerous usability improvements - • Native Windows 64-bit build Partha - • Native Mac OS X build? (Valerio Aimale?) Mailing List discussion - • See Notable bug fixes - -Rendering and performance - -Inkscape 0.91 includes a new renderer based on the Cairo library. This work was -done mainly during Google Summer of Code 2010 and 2011 projects. - - • Improved performance. The new renderer is significantly faster on most - drawings. Renderings of the most complex objects are automatically cached - to improve responsiveness during editing. - • OpenMP multithreading for filters. Filters use all available processor - cores for computation. This results in substantial speedups when editing - drawings containing large filtered objects on multi-core systems. - • Substantial memory savings. Inkscape now uses less memory when opening - complex drawings, in some cases using only 25% of the memory used by - Inkscape 0.48. Larger files can now be opened. - • Responsiveness improvements. The rendering of the SVG drawing is now - cached. This results in massive improvements in responsiveness of path - highlights, object selection / deselection, and path editing in delayed - update mode. - • Rendering bug fixes. Most of the rendering glitches in our bug tracker are - no longer present in Inkscape 0.91. The following things now render - correctly: - □ Pattern fills (no more gaps between tiles, regardless of - transformation) - □ Stroke of transformed objects in patterns - □ Patterns containing clipped objects - □ Nested clipping paths - □ Masked and clipped objects with large masks / clipping paths in Outline - view - □ Paths with wide strokes and long miters - □ Fonts - -Color display mode - -A grayscale display color mode has been added, that shows a preview of your -drawing in grayscale. Shift+numpad5 toggles the color display mode between -normal and grayscale. - -Tools - -Node tool - -The tool control bar for the Node Tool features a new dropdown to insert new -nodes on the selected segments extreme values. For example, (as demonstrated in -the image below) it is possible to add a new node at the highest point in a -curve using Insert Node at Max Y - -Add nodes at max.gif - -Measurement tool - -The Measurement tool is a new feature for the artist to measure the elements in -their drawing. To use the measurement tool, simply choose the tool, click -anywhere on the drawing and drag the ruler out. The measurement tool will -live-update with measurements of length and angles as you pass over objects in -your drawing. - -Ruler.png - -Text tool - - • Text size default unit is now points (pt) and is customizable - (px,pt,pc,mm,cm,in,em) - • Text toolbar shows full list of font style variants for that font - • Files with text in em units read correctly - • Font substitution warning dialog - -Gradients - - • Gradient toolbar enhanced to select and modify gradient stops, invert, - repeat, and link gradients - • On-canvas gradient editing fixes: double clicking to create stops, correct - focus on select - • Gradients sortable by color, name and usage in Fill/Stroke - • Gradients can be renamed in Fill/Stroke - -Dialogs, etc. - -Arrange (was rows and columns) - -- NEW: renamed to 'Arrange' - NEW: polar arrangement (separate tab) <http:// -issuu.com/ddeclara/docs/inkscape_radial_arrangement> +Manipulating Objects -Align and Distribute +Objects Dialog - • The new updated Inkscape features a new set of buttons in the Align and - Distribute Dialog called Exchange position of selected objects. It adds the - ability to exchange the positions of the objects that the artist has - selected. - □ In the following example, three objects were selected, and their - positions were exchaged with each other (using this new feature) - according to their selection order. +New dialog for manipulating the object tree. -Swap-objects.gif + • Drag and drop reordering of objects. + • Find, lock, and hide individual items. + • Shows individual objects as well as layers. + • Ability to change highlight color of objects. + • Ability to set blend mode per object. - • - □ There are also two other new buttons in the dialog that allow the - artist to exchange the selected objects based on the stacking (z-index) - order, or just exchange them clockwise based on the object's position - on the page. +Imported from Ponyscape. - • Keyboard shortcuts (Ctrl+Alt+Keypad numbers) for align operations +Selection Sets Dialog -Document Properties +New dialog that allows the creation of selection sets that are not affected by +document structure. -Optionally disable antialiasing (bug #170356, interface partially implemented) +Text -Find/Select +Font Features - • It is now easier to select items which are not at the top of the Z-order: - use Alt+mouse wheel scroll to cycle through all items that are stacked on - top of each other at the location of the mouse pointer (use Shift+Alt+mouse - wheel scroll to add to the existing selection). At present, groups are not - honoured, i.e., only individual items within groups are considered. - • New Find/Replace dialog can operate on text or any attribute - • "Select Same" is a new feature that allows an artist to select objects that - have the same properties as the currently selected object. For example, you - could select an object that has a fill of blue. Then, using the new feature - select all other objects in the drawing with a fill set to that same shade - of blue. +It is now possible to take advantage of OpenType tables to select alternative +glyphs from a font. Note that browser support is still limited. Inkscape must +also be linked with a recent version of the Pango library. -Selectsame.gif +Vertical Text -The new feature is a menu choice under Edit ▶︎ Select Same or as a Context menu -if you right click on a selected object. Also there are other choices available -to select same, including: matching both Fill and Stroke, matching just stroke, -matching stroke style, or matching on object type. +Support for vertical text layout has been improved. -Fill and Stroke + • The default behavior for Latin bases glyphs has been changed. They are now + rotated sideways as required by the SVG 1.1 standard. + • Support for the CSS 3 'text-orientation' property has been added. (Note + that this property is not yet fully supported by browsers.) + • The CSS 3 values for the 'writing-mode' property are supported in + rendering. Saving still uses the deprecated SVG 1.1 values. - • The Gradient view in the fill and stroke dialog now displays a list of all - the gradients in the document. The list displays the gradient, the gradient - name, and number of uses of that gradient in the document. +Accessibility -Gradient-fill-stroke.png +Converting text to a path will save the text in the 'aria-label' attribute. +This is useful for accessibility and could eventually be used by Inkscape to +reconstruct the text. - • More compact Markers selectors +Live Path Effects -Layers +Now some suitable LPE's are applied to clips and mask. +Helper lines come again to live +Added to pen/pencil shape combo box the option to add a bend path directly - • Drag and drop to reorder layers and create sublayers - • Show/Hide All layers options in context menu +Spiro Live -Symbols +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -Inkscape has a new Symbols dialog. The dialog displays symbols from a symbol -library. Inkscape 0.91 includes five example libraries: logic symbols, AIGA/DOT -transportation symbols, map symbols, flow chart shapes and word balloons. The -dialog will also create a pseudo-library of all existing symbols in the current -Inkscape drawing. (A symbol is defined by an SVG <symbol> element.) Symbols can -be dragged from the dialog onto the Inkscape canvas. +Extended video: <https://www.youtube.com/watch?v=bFakiI5f0-Y> -Any document with symbols can serve as a source for a symbol library. Simply -copy it to the symbols directory in your configuration directory (typically -share/inkscape). If proper care is taken, symbols can be provided with default -fill and stroke colors that later can be overridden by the user. +Based in Spiro Live Path Effect, now show result while drawing. -Visio Stencil files (.vss) can also be used by dropping them in the same -symbols directory. Results may not be as satisfactory as using SVG symbol -libraries. + • Nodes cusp (SHIFT) and Spiro. + • Handle append path on cusp and Spiro mode whith helper preview path. -See the Symbols Dialog Wiki page for more details. +Spirolive.gif -Text and Font +BSpline - • NEW: lists fonts used in the current document at the top - • NEW: select all text objects with same font as current selection - • NEW (to be verified): support list with fallback fonts (CSS2) +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -Transform +Extended video <https://www.youtube.com/watch?v=vwV0DHvA-OE> - • Rotation of objects clockwise or counterclockwise +Pen & Node mode -Markers +Use BSpline Live Effect while creating and editing paths. - • Markers now take objects color + • Pen and Pencil use + • Modes cusp(SHIFT) and BSpline while drawing. + • Handle append parhs with preview helper path. + • Handle weight of bspline (node tool) with handle movement. SHIFT key + required. + • Handle custom weight snaps with CTRL -Trace Bitmap +Bspline.gif Bspline2.gif - • Trace bitmap preview updates live and is resizeable +Live Path Effect mode -Live Path Effects +Bspline3.gif + -An object's Live Path Effects are now forked upon object duplication. - -PowerStroke - -Here a list of the current state. Note that this is very much work in progress -and anything can change. I think this is the most efficient place of keeping -track how the powerstroke LPE works. - - • Stroke knots are purple diamonds - • When first applied, 3 stroke knots are added: start, end, and somewhere in - the middle along the path - • Add nodes: Ctrl+click purple knot - • Delete nodes: Ctrl+Alt+click purple knot - • "sort points" reorders the stroke knots according to where they lie along - the path (where they are closest to the path), instead of keeping them in - original order. - • Start and end caps can be specified. The SVG cap types are available, as - well as an extra type, "Zero width", that is identical to adding a width - control knot at the start/end of the path with zero width. - • Join type can be specified. In addition to the SVG join types, there are - two new types: - □ Extrapolated: this extrapolates the contour of the stroked path to - obtain a more natural looking miter join. - □ Extrapolated arc: Mathematical explanation. - □ Spiro: rounds the join using a spiro curve (the rounded type rounds the - curve using an elliptical arc). - -example screenshot - -Clone Original - -The Clone original LPE ignores the path data of the path it has been applied -to; instead, it copies the original-d path data, i.e. the path data before LPE -calculation, from the path linked to by the Linked path parameter. - -The Clone original LPE is made to be used in conjunction with powerstroke. -Powerstroke creates a path with a variable stroke, but this path can then not -be filled (because the fill is used as the stroke). To fill a powerstroked -path, one must create a second path (dummy path), apply the Clone original LPE -and link it to the powerstroked path. Because this second path clones the -original path data before the Powerstroke LPE, it can be used to fill the -powerstroked path. - -To quickly create a dummy path and apply this effect, one can select the path -to 'clone' and click the menu item Edit ▶︎ Clone ▶︎ Clone original path (LPE). - -Like for normal clones, pressing Shift+D, when the selected path has the Clone -original LPE applied, selects the path referred to by the LPE. - -Another very useful ability of the Clone original LPE is to create a clone with -a different style than its referred path. To facilitate this, the LPE dialog -will add the Clone original LPE when a clone is selected and the "+" button is -pressed. +The options in the Live effect dialog give you control on bspline paths. -Filters + • Set to Default weight (0.3333 time of his curve segment). + • Make cusp nodes. + • Numeric input for weight. + • Steps with CONTROL snaps in node/handle editing. + • Ignore cusp nodes, affect to all other widgets changes and, for example, + retain cusp nodes when you change the power. + • Change only selected nodes, affect to all other widgets changes. + • Show a helper path whith the final shape and the generated new nodes. -The new Custom predefined filters allow users to create predefined filters with -custom parameters. See SpecCustomPredefinedFilters. + -Trace Pixel Art (libdepixelize) +Roughen -A new library developed for Inkscape to automatically vectorize raster images -specialized in Pixel Art was integrated in the form of the "Trace Pixel Art" -dialog (menu item Path ▶︎ Trace Pixel Art...). Good and old general "Trace -Bitmap" is still there. Check the supplementary material of the algorithm -authors to see a preview of how the algorithm behaves. +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +Roughen.png + -Other User Interface +Extended video: https://www.youtube.com/watch?v=130Dbt0juvY -General +This filter is a semi-clone of two extensions, ("add nodes" and "jitter nodes") ++ handle units. - • Canvas background color can be set without exporting it (background - transparency is only used for export but not the canvas). +The parameters are similar to both extensions + a global randomizer. + • Apply to paths, shapes and groups. + • Apply to clip and masks -if are vectors- -Guides +Roughen.gif - • Guides visibility can be toggled by clicking the ruler - • Guides can now have labels, and the colour of individual guides can also be - set by the user. To label or colour a guide, double click on the guideline - to bring up the guide properties dialog. +Simplify -Labelled-guides.png +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +Simplify.png + +Extended video: https://www.youtube.com/watch?v=gaWujN_iTSk -Menu/Access +Send the simplify command to a non-destructive live path effect. - • The interface elements are accessible through the keyboard with ALT+key in - many more dialogs - • "Text and Font", "Fill and Stroke", and "Check Spelling" dialogs are added - to the text object context menu (right click) - • Menu items renamed: - □ Edit ▶︎ Preferences - □ Edit ▶︎ Input Devices - □ File ▶︎ Cleanup Document - • Checkboxes to indicated status of View ▶︎ Grid/Guides/Snap/Color Management - • Group/Ungroup from the context menu + • Use on paths, shapes and groups of them. + • Apply to clip and masks -if are vectors- + • User can change modify the threshold -preferences dialog- used by a numeric + parameter. + • Apply Simplify on stack. -Preferences +Simplify.gif - • New keyboard shortcut editor - • Prefs ▶︎ Interface -- New option for dockbar and switcher style (icons, - text, icons & text) (bug #1098416) - • Prefs ▶︎ Interface ▶︎ Windows -- optionally don't save & restore documents - viewport (bug #928205) - • Prefs ▶︎ Behavior ▶︎ Steps -- unit selector for steps (move, scale, inset/ - outset) (bug #170293) - • Prefs ▶︎ Behavior ▶︎ Steps -- option for relative snapping of guideline - angles (rev 10307) - • Prefs ▶︎ Behavior ▶︎ Clones -- optionally relink linked offsets on - duplication (bug #686193) - • Prefs ▶︎ Input/Output ▶︎ SVG output -- NEW: optionally enforce relative or - absolute coordinates (bug #1002230) +Perspective/Envelope -Dialogs +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +Perspective-envelope.png + - • Dialog status and position is remembered between sessions - • Most dialogs now dockable (including "Object properties", "Object - attributes", "Text and Font", "Check spelling", "Export PNG image", "XML - editor", "Find/Replace", and "Tiled clones") - • New preference to allow Windows users to choose between native and Gtk Open - /Save dialog - • Preferences dialog cleanup - • Document Metadata dialog merged into Document Properties +Extended video: https://www.youtube.com/watch?v=CjKGatyxTZ8 +Apply both deformations by 4 points. -Simple calculations in spinboxes + • Two modes, perspective and envelope. + • Apply on paths, shapes and groups. + • Apply on vector clips and mask -In most spinboxes (a spinbox is an entry field with up and down "spinbuttons" -next to it) you can now write simple calculations. Some examples: +Perspective-envelope.gif - • 2 * 3 - • 50 + 100, or - • ((12 + 34) * (5 + 5) - 2) / 2 +Lattice Deformation 2 -Moreover, you can use units in entering values, like 2 + 2 cm. The result will -be converted to the selected unit for the particular entry. +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +Latice2.png + -Configurable Control Handles +Extended video: https://www.youtube.com/watch?v=YlK9L88_tWE +Symmetry video: https://www.youtube.com/watch?v=jhuVjqFA6ig -New preferences have been added to allow for the size of the on-canvas controls -to be increased or decreased. The "Input Devices" section has been updated to -control this. +Add deformations by a mesh. +Vertical,horizontal or both symmetry. -Translations + • Apply to paths, shapes and groups. + • Apply to vector clips and mask + +Latice2.gif + +Show Handles + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +ShowHandles.png + + +Extended video: https://www.youtube.com/watch?v=h9ul_PR9XYo + +A LPE version of Show Handles extension. + + • Work on paths, shapes and groups. + • Work on clones + • Node and Handle shapes resizeables + • If not a clone, is a destructive LPE, dont save styles, work on a copy! + +ShowHandles.gif + +Transform by two points + +TransformByTwoKnots.png + + +Extended video: https://www.youtube.com/watch?v=ZLmYdWoXXIw +Extended video (Elastic rubber): https://www.youtube.com/watch?v=lOWTeZC_LjM + +Transform a element by two control points. You can position the control points +by bounding box or by original path node index. Thanks Ivan Louette for the +idea of the effect. + + • Work on paths, shapes and groups with less power. + • Allow snapping of both control points + • Allow fix angle or distance. + • Elastic mode to simulate a flex path + • From original width, set the control points based on bounding box + +TransformByTwoKnots.gif + +Rotate copies + +File:RotateCopies.png +170px + +Extended video (partial fuse path): https://www.youtube.com/watch?v=UpI8gRbkTu4 +Extended video (live editing): https://www.youtube.com/watch?v=fBQpvfgT4mE +Extended video (kaleidoscope): https://www.youtube.com/watch?v=LfMixSKy3Eo - • The Keyboard and mouse reference (inkscape-docs project) and the labels of - color palettes are now translatable. - • New UI translation in Latvian. - • New tutorial translations in Galician and Greek. - • New man pages in Chinese (zh_TW) Greek (el), Japanese (ja) and Slovak (sk), - and updated French translation. [Galician (gl) and Polish (pl) in progress] - • Man pages now use PO files for translation (inkscape-docs project). - • The tutorial generation system now fully supports RTL languages. - -File format support - - • New Flash XML Graphics (FXG) export format. - • New Synfig Animation Studio (SIF) export format. - • New HTML5 Canvas export format - • New Visio (VSD) import format, based on libvisio. - • New internal CorelDraw (CDR) import format, based on libcdr. - • XAML export improvements (including a new Silverlight compatible mode). - • Compressed SVG and media export extension improvements. New options: - □ set an image directory in the zip file - □ add a text file that lists the fonts used in the SVG document. - • New preference to allow users to always link, embed or ask when importing - bitmaps. - • New preferences that allow the checking of SVG on input and/or export for - invalid or not useful elements, attributes, and properties. Options control - whether such items generate warnings (when Inkscape is run from the command - line) or in removing such items. - • The --export-text-to-path option now works with Plain SVG export. - -EMF/WMF - -EMF and WMF input and output filters have been completely rewritten and are now -cross-platform. It is now possible to copy and paste EMF files between Windows -applications running in Wine and a native Linux version of Inkscape. - -Gimp XCF - - • The Save Background option allows users to choose if the page background is - saved with each GIMP layer. - • The exported layers now use the label attribute or, if not set, the id - attribute - • New Resolution option - • New Help tab - • Some bugs and warnings fixed - -PDF - - • Bleed/margin: Added an option to specify an extra margin by which the - bounding box to be exported is expanded. This may be helpful to export a - PDF with a small white margin around the drawing, or for exporting a bleed - region a few mm outside the area of the page. - -PDF/EPS/PS + LaTeX - - • Added the possibility of scaling the image. The calc package must be - included in the preamble. Then the image can be scaled by defining \ - svgscale instead of \svgwidth. - • The font shape is now also exported. \textit{} for italic text, \textbf{} - for bold text, and \textsl{} (slanted) for oblique text. It is important to - note that Arial has an oblique font shape, not italic. Thus, the result in - LaTeX will be slanted, instead of italic. It is better to use another font - in Inkscape when you want true italics. +Transform a element by two control points. You can position the control points +by bounding box or by original path node index. Thanks Ivan Louette for the +idea of the effect. + + • Work on paths, shapes and groups. + • Allow fuse the result to make kaleidoscope + • Allow non 360 fuse. + • Live editing + +Mirror Simmetry + +Extended video: https://www.youtube.com/watch?v=m1sj4AeU3Yo +Mirror a item + + • Work on paths, shapes and groups. + • Allow fuse result + • Different mirror line: Free, X, Y, Middle Document[X], Middle Document[Y] + +Spray tool + +Extended video 1 (No overlap): https://www.youtube.com/watch?v=uehj4ATOWos +Extended video 2 (No overlap multiple items): https://www.youtube.com/watch?v= +1eTG2U3qlb4 +Extended video 3 (Over visible, pick color): https://www.youtube.com/watch?v= +aTdKu7mAZE8 +Extended video 4 (Pressure): https://www.youtube.com/watch?v=kWdQnxd_z30 +Extended video 5 (Trace -clones- dialog): https://www.youtube.com/watch?v= +Zn3vzf-yA_w +todo: a video showing all features joined + + • New mode eraser + • Add more pressure toggles + • No overlap option with optional multiple elements + • No overlap between colors + • Configurable offset for overlaps + • Color picker from center or average area + • Apply color picked to fill + • Apply color picked to stroke + • Invert picked colors + • Spray over transparent + • Spray over non-transparent + • Allow picker enabled sprays to use "Trace Clones" options + +Measure tool + +Extended video: https://www.youtube.com/watch?v=OE0cVDGCzbM + + • Persistent measure + • Reposition of origin/end + • Convert to measure item + • Convert to guides + • Convert measure to quote + • Reverse origin/end + • Measure global + • Measure only current layer + • Add precision + • Add scale + +Geometric Construction Tool + + • Helps to create: line segments, circles by specific points, parallels, + perpendicular lines, angle bisectors, mirrored paths by applying a Live + Path Effect. + +[Needs usage instructions!] + +Align and Distribute + + • NEW: drop-down chooser with options to align nodes relative to each other + in node editing mode. + +File Format Support + + • The default PostScript level for exporting from the command line changes + from 2 to 3 (consistent with the user interface PS exporter which defaults + to level 3). Level 3 is required for gradient support. Extensions -Units: Breaking change +New + + • Render > Seamless Pattern (Screencast) + • Images > Set Image Attributes (Bug #1357808) + • Render > NiceCharts (github repo, not maintained -Due to the implementation of proper document units, the functions -inkex.unittouu and inkex.uutounit had to be modified and moved to the -inkex.Effect class. +Plotter Driver -Unit conversion calls should be replaced with inkex.Effect.unittouu and -inkex.Effect.uutounit calls (usually self.unittouu and self.uutounit). +Multiple Pens + +The Plotter driver (Extensions -> Export -> Plot) can now handle multiple pens +to create colorful drawings on Pen Plotters: + + • Create a layer for every pen to use and move the corresponding drawings + into it + • Name the layer with a title like "Pen 1" or "MyLayerName Pen 1", where the + number corresponds to the pen number the plotter should use + • The layer name always overrides the standard pen setting in the plot menu + +Serial Connection + +The connection settings now allow you to specify rarely used serial connection +settings like byte size, stop bits and parity. Most plotters use the default +settings, so only change these if you know what you are doing. + +HPGL Export + +The HPGL export (File -> Save as -> HP Grafics Language file) has now the same +multiple pens feature as the #Plotter Driver. + +HPGL Import + +The HPGL import (File -> Open -> Select .hpgl file) can now import multiple +pens into corresponding layers, see #Plotter Driver for more information. + +PDF Import + +The image 'interpolate' value is now used to determine how to display bitmaps +(interpolated or blocky). + +Miscellaneous Improvements + + • Arrange > Restack has new options to reverse and shuffle the z-order of + selected objects. + • Render > Random Tree has new option to omit redundant segments. + • Visualize Path > Measure Path has additional text layout options. + +Extension Development + + • It is now possible for an extension to retrieve a list of selected nodes + (Bug #171287). + +Filters New - • The new guillotine extension is used for exporting PNG slices from a - drawing. The slice rectangles are defined by adding horizontal and vertical - guides within the canvas boundary, the canvas boundary serves as the - outside of the sliced area. - • The new G-code tools extension converts paths to G-code (using circular - interpolation), makes offset paths and engraves sharp corners using cone - cutters. - • New QR code generator. - • New isometric grid generator. - • New bitmap crop extension. - • New Extract text extension. Outputs a document’s text elements in a chosen - order. - • New Merge text extension. - • New HSL adjust extension. - • New Replace font extension. - • New N-Up layout extension. - • New Voronoï diagram extension (creates Voronoï diagrams and Delaunay - triangulations based on the selected objects' barycenter). - • New Interpolate Attribute in a group extension. - • New Typography extensions menu. - -Improvements - - • Number nodes. New parameters allowing users to choose the starting dot - number and the numbering step between two nodes. - • Color Markers to Match Stroke extension improvements. The markers can now - inherit the fill and stroke colors and alpha channels from the object, or - be customized with color selectors in a separate tab. - • Optional sliders added on float and int extension parameters (full and - minimal modes). - • Extension parameters values (except attributes!) can now be contextualized - for translation (with msgctxt). - • New sub-menus in the Render menu, grouping the bar-codes, grids and layout - extensions. - -SVG Support - -Rendering of the following properties is now supported (without UI except via -XML editor): - - • clip-rule - • color-interpolation-filters: Non-Inkscape filters that specify linearRGB - color interpolation will render properly. Filters created inside Inkscape - will still use sRGB color interpolation by default. - • text-decoration: Underline, strike-through, over line. - • text-decoration-line, text-decoration-style: Preliminary support (CSS 3). - • paint-order: Allows stroke to be painted under fill; useful for text. - -Snapping - - • The snapping preferences and the snap toolbar have been reworked (in the - underlying code and in the GUI) to should make the snapping preferences - easier to understand, maintain, and find and fix any remaining snapping - bugs - • Inkscape now also snaps perpendicularly and tangentialy to paths, when - creating paths in the pen tool, when dragging nodes, or when manipulating - guides. Newly created guides (dragged off the ruler) will snap - perpendicularly or tangentialy to any curve that is being snapped to. Two - checkboxes have been added to the document properties dialog (on the - snapping tab). Please note that snapping perpendicularly or tangetialy will - not work in the selector tool when transforming an object or a selection of - objects. - • Intersections of paths and guides can now be snapped to too - • Snapping has been implemented fully for transforming selections of multiple - nodes in the node tool - • Snapping to text anchors and baselines has been implemented properly - • If one has chosen for only snapping the snap source closest to the mouse - pointer, then the tab key can be used to cycle to the next closest snap - source - -Notable bug fixes - -Notable bug fixes since last bug fix release (0.48.4): - - • Images are no longer recompressed when embedding or exporting them. [1] - • Relative image paths are no longer stored as absolute (regression - introduced with 0.47). - • Many rendering glitches were fixed. - • The rendering of the stroke on transformed objects now matches the SVG - specification. - • Values entered in the numeric input boxes for the selector tool (X, Y, - width, height) are much more accurately applied. - -Known issues - - • On MS Windows when the desktop colordepth is set to 16-bit, Inkscape is - unusable because of exploding memory usage. Please set the colordepth to - 32-bit. - • The Cairo library used in the new renderer does not implement downscaling, - which causes large bitmaps to be pixelated on export. [2] The issue can be - fixed with an out-of-tree patch to Cairo. [3] + • Color > Color Blindness filter allows to simulate different color blindness + conditions. + +Other dialogs + +Document Properties: Licences + +All selectable licences have been updated to most current version. + +Filter Editor + +Filter list now displays how often a filter is used. + +Other user interface + +Node Snapping + +Snapping in the node tool has been improved: + + • When double clicking to insert new nodes, the position of these new nodes + will snap to for example path intersections and to path-guide intersections + • When grabbing a segment of a path and dragging it to deform it, the pointer + will now snap + +Checkerboard Background + +It is now possible to use a checkerboard background when editing. This allows +one to clearly see the transparency of objects. + +View Box + +One can now set the SVG 'viewBox' attribute from the GUI. This attribute sets +the scale of the drawing by determining the real-world value of the SVG user +unit (pixel size). + +Lock Guides + +Now guides can be locked and unlocked globally or individually. + +SVG and CSS + + • The 'marker-orientation' property now recognizes units ('deg', 'rad', + 'grad' and 'turn'). + • The new SVG 2 'context-fill' and 'context-stroke' properties are + implemented which allows the auto-matching of arrowhead fill color to path + stroke color. + • The new SVG 2 marker orientation attribute value 'auto-start-reverse' is + implemented. This allows one arrow marker to be used for both ends of a + path. + • The new CSS 3 'mix-blend-mode' and 'isolation' properties are implemented, + allowing setting the blend mode between objects without using filters. + • The new SVG 2 'paint-order' property is now supported. This allows setting + the order in which the fill, stroke, and markers are drawn. + • The new SVG 2 'mesh' paint server is supported, including bicubic + auto-smoothing. A primitive GUI is available. + • The SVG 1.1 'text-decoration' property is now rendered (underlines, strike + through, etc.). CSS 3 'text-decoration' properties are also rendered. + • The new SVG 2 'hatch' paint server is now supported. + • The CSS 'white-space' property is now supported. Use of this property was + added in SVG 2 to replace the now deprecated 'xml;space' attribute. + • The SVG 1.1 'textLength" and 'textAdjust' attributes are implemented, + however, there is no GUI for these attributes. + • Rendering of the Component Transfer filter primitive has been corrected. + • Units are now recognized in the text and tspan 'x', 'y', 'dx', and 'dy' + attributes. + • Percentage values are now interpreted correctly for shapes. + +New SVG 2 and CSS 3 features are generally not enabled in the GUI until +widespread support in browsers. + +New dependencies + +The Paintbucket and Trace Bitmap tools now use an external copy of the Potrace +library, which is available in many Linux distributions or can be obtained from +http://potrace.sourceforge.net + + +Translations + +New UI translations for Assamese, Bodo, Dogri, Gujarati, Hindi, Kannada, +Kashmiri (Perso-Arabic and Devanagari), Kokani (Roman and Devanagari scripts), +Maithili, Malayalam, Manipuri (Meetei Mayek and Bengali scripts), Marathi, +Odia, Santali (Devnagari and Ol-Chiki scripts), Sanskrit, Sindhi, Tamil, Urdu +(Perso-Arabic and Devanagari scripts). For information on prior releases, please see: diff --git a/build-lx.xml b/build-lx.xml index 5bc10da39..01be2d0fd 100644 --- a/build-lx.xml +++ b/build-lx.xml @@ -39,7 +39,7 @@ </description> <!-- set global properties for this build --> - <property name="version" value="0.91+devel"/> + <property name="version" value="0.92pre1"/> <property name="src" location="src"/> <property name="lib" location="lib"/> <property name="build" location="build"/> diff --git a/build-x64.xml b/build-x64.xml index b83e5137e..1781f99ab 100644 --- a/build-x64.xml +++ b/build-x64.xml @@ -42,7 +42,7 @@ </description> <!-- set global properties for this build --> - <property name="version" value="0.91+devel_64bit"/> + <property name="version" value="0.92pre1_64bit"/> <property name="src" location="src"/> <property name="lib" location="lib"/> <property name="build" location="build"/> @@ -42,7 +42,7 @@ </description> <!-- set global properties for this build --> - <property name="version" value="0.91+devel"/> + <property name="version" value="0.92pre1"/> <property name="src" location="src"/> <property name="lib" location="lib"/> <property name="build" location="build"/> diff --git a/configure.ac b/configure.ac index 395dd2605..4cef05f70 100644 --- a/configure.ac +++ b/configure.ac @@ -7,7 +7,9 @@ AC_PREREQ([2.64]) # `dpkg --compare-versions'. (ii) We don't always know what the next # version is going to be called until about the time we release it # (whereas we always know what the previous version was called). -AC_INIT([inkscape], [0.91+devel], +# +# Pre-releases are named "M.NNpreX" where X starts at 0 for the first alpha. +AC_INIT([inkscape], [0.92pre1], [http://bugs.launchpad.net/inkscape/+filebug], [inkscape], [http://inkscape.org/]) diff --git a/po/POTFILES.in b/po/POTFILES.in index 17d7b1683..e9ab78f37 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,6 +1,6 @@ # List of source files containing translatable strings. # Please keep this file sorted alphabetically. -# Generated by ./generate_POTFILES.sh at Thu Apr 14 04:25:58 CEST 2016 +# Generated by ./generate_POTFILES.sh at Mon May 23 11:59:28 CEST 2016 [encoding: UTF-8] inkscape.appdata.xml.in inkscape.desktop.in @@ -148,7 +148,6 @@ src/live_effects/lpe-interpolate_points.cpp src/live_effects/lpe-jointype.cpp src/live_effects/lpe-knot.cpp src/live_effects/lpe-lattice2.cpp -src/live_effects/lpe-mirror_symmetry.cpp src/live_effects/lpe-patternalongpath.cpp src/live_effects/lpe-perspective-envelope.cpp src/live_effects/lpe-powerstroke.cpp @@ -524,6 +523,7 @@ share/extensions/wireframe_sphere.py [type: gettext/xml] share/extensions/jessyInk_uninstall.inx [type: gettext/xml] share/extensions/jessyInk_video.inx [type: gettext/xml] share/extensions/jessyInk_view.inx +[type: gettext/xml] share/extensions/jitternodes.inx [type: gettext/xml] share/extensions/layers2svgfont.inx [type: gettext/xml] share/extensions/layout_nup.inx [type: gettext/xml] share/extensions/lindenmayer.inx @@ -549,7 +549,6 @@ share/extensions/wireframe_sphere.py [type: gettext/xml] share/extensions/print_win32_vector.inx [type: gettext/xml] share/extensions/printing_marks.inx [type: gettext/xml] share/extensions/ps_input.inx -[type: gettext/xml] share/extensions/radiusrand.inx [type: gettext/xml] share/extensions/render_alphabetsoup.inx [type: gettext/xml] share/extensions/render_barcode.inx [type: gettext/xml] share/extensions/render_barcode_datamatrix.inx diff --git a/po/inkscape.pot b/po/inkscape.pot index 76ce4fa0b..ac4e8ab28 100644 --- a/po/inkscape.pot +++ b/po/inkscape.pot @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: inkscape-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2016-05-16 16:38+0200\n" +"POT-Creation-Date: 2016-05-24 17:15+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -6709,12 +6709,12 @@ msgstr "" #: ../src/extension/internal/filter/color.h:819 #: ../src/ui/widget/color-icc-selector.cpp:193 #: ../src/ui/widget/color-scales.cpp:448 ../src/ui/widget/color-scales.cpp:449 -#: ../src/ui/widget/selected-style.cpp:274 +#: ../src/ui/widget/selected-style.cpp:275 msgid "Black" msgstr "" #: ../src/extension/internal/filter/color.h:820 -#: ../src/ui/widget/selected-style.cpp:270 +#: ../src/ui/widget/selected-style.cpp:271 msgid "White" msgstr "" @@ -6737,7 +6737,7 @@ msgid "Customize greyscale components" msgstr "" #: ../src/extension/internal/filter/color.h:980 -#: ../src/ui/widget/selected-style.cpp:266 +#: ../src/ui/widget/selected-style.cpp:267 msgid "Invert" msgstr "" @@ -6967,7 +6967,7 @@ msgstr "" #: ../src/extension/internal/filter/distort.h:77 #: ../src/extension/internal/filter/textures.h:75 #: ../src/ui/widget/selected-style.cpp:132 -#: ../src/ui/widget/style-swatch.cpp:128 +#: ../src/ui/widget/style-swatch.cpp:130 msgid "Stroke:" msgstr "" @@ -7244,10 +7244,10 @@ msgstr "" #: ../share/extensions/gimp_xcf.inx.h:2 #: ../share/extensions/interp_att_g.inx.h:2 #: ../share/extensions/jessyInk_uninstall.inx.h:2 +#: ../share/extensions/jitternodes.inx.h:2 #: ../share/extensions/lorem_ipsum.inx.h:2 #: ../share/extensions/pathalongpath.inx.h:2 -#: ../share/extensions/pathscatter.inx.h:2 -#: ../share/extensions/radiusrand.inx.h:2 ../share/extensions/scour.inx.h:2 +#: ../share/extensions/pathscatter.inx.h:2 ../share/extensions/scour.inx.h:2 #: ../share/extensions/split.inx.h:2 ../share/extensions/voronoi2svg.inx.h:2 #: ../share/extensions/web-set-att.inx.h:2 #: ../share/extensions/web-transmit-att.inx.h:2 @@ -7354,7 +7354,7 @@ msgstr "" #: ../src/extension/internal/filter/paint.h:331 #: ../src/ui/dialog/align-and-distribute.cpp:1090 -#: ../src/widgets/desktop-widget.cpp:2070 +#: ../src/widgets/desktop-widget.cpp:2087 msgid "Drawing" msgstr "" @@ -7363,7 +7363,7 @@ msgstr "" #: ../src/extension/internal/filter/paint.h:496 #: ../src/extension/internal/filter/paint.h:590 #: ../src/extension/internal/filter/paint.h:976 -#: ../src/live_effects/effect.cpp:136 ../src/splivarot.cpp:2206 +#: ../src/live_effects/effect.cpp:136 ../src/splivarot.cpp:2209 msgid "Simplify" msgstr "" @@ -7797,7 +7797,7 @@ msgstr "" msgid "Gradients used in GIMP" msgstr "" -#: ../src/extension/internal/grid.cpp:204 ../src/ui/widget/panel.cpp:116 +#: ../src/extension/internal/grid.cpp:204 ../src/ui/widget/panel.cpp:117 msgid "Grid" msgstr "" @@ -7854,7 +7854,7 @@ msgstr "" #: ../src/extension/internal/grid.cpp:215 #: ../src/ui/dialog/document-properties.cpp:163 #: ../src/ui/dialog/inkscape-preferences.cpp:832 -#: ../src/widgets/toolbox.cpp:1886 +#: ../src/widgets/toolbox.cpp:1894 msgid "Grids" msgstr "" @@ -8878,7 +8878,7 @@ msgstr "" #: ../src/ui/dialog/align-and-distribute.cpp:1089 #: ../src/ui/dialog/document-properties.cpp:161 #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1549 -#: ../src/widgets/desktop-widget.cpp:2066 +#: ../src/widgets/desktop-widget.cpp:2083 #: ../share/extensions/empty_page.inx.h:1 #: ../share/extensions/voronoi2svg.inx.h:10 msgid "Page" @@ -10252,71 +10252,6 @@ msgstr "" msgid "Hide Points" msgstr "" -#: ../src/live_effects/lpe-mirror_symmetry.cpp:36 -msgid "Vertical Page Center" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:37 -msgid "Horizontal Page Center" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:38 -msgid "Free from reflection line" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:39 -msgid "X from middle knot" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:40 -msgid "Y from middle knot" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:72 -#: ../src/widgets/spray-toolbar.cpp:388 ../src/widgets/tweak-toolbar.cpp:253 -msgid "Mode" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:72 -msgid "Symmetry move mode" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:73 -msgid "Discard original path?" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:73 -msgid "Check this to only keep the mirrored part of the path" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:74 -msgid "Fuse paths" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:74 -msgid "Fuse original and the reflection into a single path" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:75 -msgid "Opposite fuse" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:75 -msgid "Picks the other side of the mirror as the original" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:76 -msgid "Start mirror line" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:77 -msgid "End mirror line" -msgstr "" - -#: ../src/live_effects/lpe-mirror_symmetry.cpp:335 -msgid "Adjust the center" -msgstr "" - #: ../src/live_effects/lpe-patternalongpath.cpp:63 #: ../share/extensions/pathalongpath.inx.h:10 msgid "Single" @@ -10755,7 +10690,7 @@ msgid "Handles options" msgstr "" #: ../src/live_effects/lpe-roughen.cpp:63 -#: ../share/extensions/radiusrand.inx.h:5 +#: ../share/extensions/jitternodes.inx.h:5 msgid "Shift nodes" msgstr "" @@ -11695,7 +11630,7 @@ msgstr "" msgid "Start Inkscape in interactive shell mode." msgstr "" -#: ../src/main.cpp:876 ../src/main.cpp:1322 +#: ../src/main.cpp:876 ../src/main.cpp:1349 msgid "" "[OPTIONS...] [FILE...]\n" "\n" @@ -13111,41 +13046,41 @@ msgstr "" msgid "Select <b>path(s)</b> to inset/outset." msgstr "" -#: ../src/splivarot.cpp:1962 +#: ../src/splivarot.cpp:1965 msgid "Outset path" msgstr "" -#: ../src/splivarot.cpp:1962 +#: ../src/splivarot.cpp:1965 msgid "Inset path" msgstr "" -#: ../src/splivarot.cpp:1964 +#: ../src/splivarot.cpp:1967 msgid "<b>No paths</b> to inset/outset in the selection." msgstr "" -#: ../src/splivarot.cpp:2126 +#: ../src/splivarot.cpp:2129 msgid "Simplifying paths (separately):" msgstr "" -#: ../src/splivarot.cpp:2128 +#: ../src/splivarot.cpp:2131 msgid "Simplifying paths:" msgstr "" -#: ../src/splivarot.cpp:2165 +#: ../src/splivarot.cpp:2168 #, c-format msgid "%s <b>%d</b> of <b>%d</b> paths simplified..." msgstr "" -#: ../src/splivarot.cpp:2178 +#: ../src/splivarot.cpp:2181 #, c-format msgid "<b>%d</b> paths simplified." msgstr "" -#: ../src/splivarot.cpp:2192 +#: ../src/splivarot.cpp:2195 msgid "Select <b>path(s)</b> to simplify." msgstr "" -#: ../src/splivarot.cpp:2208 +#: ../src/splivarot.cpp:2211 msgid "<b>No paths</b> to simplify in the selection." msgstr "" @@ -13431,7 +13366,7 @@ msgid "Rearrange" msgstr "" #: ../src/ui/dialog/align-and-distribute.cpp:941 -#: ../src/widgets/toolbox.cpp:1788 +#: ../src/widgets/toolbox.cpp:1796 msgid "Nodes" msgstr "" @@ -14348,27 +14283,27 @@ msgstr "" msgid "Change color definition" msgstr "" -#: ../src/ui/dialog/color-item.cpp:675 +#: ../src/ui/dialog/color-item.cpp:677 msgid "Remove stroke color" msgstr "" -#: ../src/ui/dialog/color-item.cpp:675 +#: ../src/ui/dialog/color-item.cpp:677 msgid "Remove fill color" msgstr "" -#: ../src/ui/dialog/color-item.cpp:680 +#: ../src/ui/dialog/color-item.cpp:682 msgid "Set stroke color to none" msgstr "" -#: ../src/ui/dialog/color-item.cpp:680 +#: ../src/ui/dialog/color-item.cpp:682 msgid "Set fill color to none" msgstr "" -#: ../src/ui/dialog/color-item.cpp:698 +#: ../src/ui/dialog/color-item.cpp:700 msgid "Set stroke color from swatch" msgstr "" -#: ../src/ui/dialog/color-item.cpp:698 +#: ../src/ui/dialog/color-item.cpp:700 msgid "Set fill color from swatch" msgstr "" @@ -14639,7 +14574,7 @@ msgstr "" msgid "Remove selected grid." msgstr "" -#: ../src/ui/dialog/document-properties.cpp:162 ../src/widgets/toolbox.cpp:1895 +#: ../src/ui/dialog/document-properties.cpp:162 ../src/widgets/toolbox.cpp:1903 msgid "Guides" msgstr "" @@ -14741,7 +14676,7 @@ msgstr "" #: ../src/ui/dialog/document-properties.cpp:768 #: ../src/ui/dialog/document-properties.cpp:845 -#: ../src/ui/widget/selected-style.cpp:356 +#: ../src/ui/widget/selected-style.cpp:357 msgid "Remove" msgstr "" @@ -15023,13 +14958,13 @@ msgid "Export aborted." msgstr "" #: ../src/ui/dialog/export.cpp:1308 ../src/ui/interface.cpp:1401 -#: ../src/widgets/desktop-widget.cpp:1186 -#: ../src/widgets/desktop-widget.cpp:1248 +#: ../src/widgets/desktop-widget.cpp:1201 +#: ../src/widgets/desktop-widget.cpp:1263 msgid "_Cancel" msgstr "" #: ../src/ui/dialog/export.cpp:1309 ../src/ui/dialog/input.cpp:1082 -#: ../src/verbs.cpp:2432 ../src/widgets/desktop-widget.cpp:1187 +#: ../src/verbs.cpp:2432 ../src/widgets/desktop-widget.cpp:1202 msgid "_Save" msgstr "" @@ -15071,13 +15006,14 @@ msgstr "" #: ../share/extensions/jessyInk_uninstall.inx.h:10 #: ../share/extensions/jessyInk_video.inx.h:2 #: ../share/extensions/jessyInk_view.inx.h:7 +#: ../share/extensions/jitternodes.inx.h:12 #: ../share/extensions/layout_nup.inx.h:24 #: ../share/extensions/lindenmayer.inx.h:13 #: ../share/extensions/lorem_ipsum.inx.h:6 ../share/extensions/measure.inx.h:33 #: ../share/extensions/pathalongpath.inx.h:16 #: ../share/extensions/pathscatter.inx.h:18 -#: ../share/extensions/radiusrand.inx.h:8 ../share/extensions/restack.inx.h:25 -#: ../share/extensions/split.inx.h:8 ../share/extensions/voronoi2svg.inx.h:16 +#: ../share/extensions/restack.inx.h:25 ../share/extensions/split.inx.h:8 +#: ../share/extensions/voronoi2svg.inx.h:16 #: ../share/extensions/web-set-att.inx.h:25 #: ../share/extensions/web-transmit-att.inx.h:23 #: ../share/extensions/webslicer_create_group.inx.h:11 @@ -15199,7 +15135,7 @@ msgid "Document" msgstr "" #: ../src/ui/dialog/filedialogimpl-gtkmm.cpp:1553 ../src/verbs.cpp:175 -#: ../src/widgets/desktop-widget.cpp:2074 +#: ../src/widgets/desktop-widget.cpp:2091 #: ../share/extensions/printing_marks.inx.h:18 msgid "Selection" msgstr "" @@ -16058,7 +15994,7 @@ msgstr "" msgid "Search spirals" msgstr "" -#: ../src/ui/dialog/find.cpp:103 ../src/widgets/toolbox.cpp:1796 +#: ../src/ui/dialog/find.cpp:103 ../src/widgets/toolbox.cpp:1804 msgid "Paths" msgstr "" @@ -16938,7 +16874,7 @@ msgstr "" #: ../src/ui/dialog/grid-arrange-tab.cpp:571 #: ../src/ui/dialog/object-attributes.cpp:66 #: ../src/ui/dialog/object-attributes.cpp:75 -#: ../src/ui/widget/page-sizer.cpp:247 ../src/widgets/desktop-widget.cpp:703 +#: ../src/ui/widget/page-sizer.cpp:247 ../src/widgets/desktop-widget.cpp:744 #: ../src/widgets/node-toolbar.cpp:581 msgid "X:" msgstr "" @@ -16950,7 +16886,7 @@ msgstr "" #: ../src/ui/dialog/grid-arrange-tab.cpp:572 #: ../src/ui/dialog/object-attributes.cpp:67 #: ../src/ui/dialog/object-attributes.cpp:76 -#: ../src/ui/widget/page-sizer.cpp:248 ../src/widgets/desktop-widget.cpp:704 +#: ../src/ui/widget/page-sizer.cpp:248 ../src/widgets/desktop-widget.cpp:745 #: ../src/widgets/node-toolbar.cpp:599 msgid "Y:" msgstr "" @@ -17413,7 +17349,7 @@ msgstr "" #. Zoom #: ../src/ui/dialog/inkscape-preferences.cpp:394 -#: ../src/widgets/desktop-widget.cpp:668 +#: ../src/widgets/desktop-widget.cpp:709 msgid "Zoom" msgstr "" @@ -20051,19 +19987,19 @@ msgstr "" msgid "Move to Layer" msgstr "" -#: ../src/ui/dialog/layers.cpp:525 ../src/ui/widget/layer-selector.cpp:610 +#: ../src/ui/dialog/layers.cpp:525 ../src/ui/widget/layer-selector.cpp:612 msgid "Unhide layer" msgstr "" -#: ../src/ui/dialog/layers.cpp:525 ../src/ui/widget/layer-selector.cpp:610 +#: ../src/ui/dialog/layers.cpp:525 ../src/ui/widget/layer-selector.cpp:612 msgid "Hide layer" msgstr "" -#: ../src/ui/dialog/layers.cpp:536 ../src/ui/widget/layer-selector.cpp:602 +#: ../src/ui/dialog/layers.cpp:536 ../src/ui/widget/layer-selector.cpp:604 msgid "Lock layer" msgstr "" -#: ../src/ui/dialog/layers.cpp:536 ../src/ui/widget/layer-selector.cpp:602 +#: ../src/ui/dialog/layers.cpp:536 ../src/ui/widget/layer-selector.cpp:604 msgid "Unlock layer" msgstr "" @@ -21844,7 +21780,7 @@ msgid "Open _Recent" msgstr "" #: ../src/ui/interface.cpp:1018 ../src/ui/interface.cpp:1104 -#: ../src/ui/interface.cpp:1207 ../src/ui/widget/selected-style.cpp:542 +#: ../src/ui/interface.cpp:1207 ../src/ui/widget/selected-style.cpp:543 msgid "Drop color" msgstr "" @@ -23124,53 +23060,53 @@ msgstr "" msgid "Create mesh" msgstr "" -#: ../src/ui/tools/node-tool.cpp:653 +#: ../src/ui/tools/node-tool.cpp:648 msgctxt "Node tool tip" msgid "" "<b>Shift</b>: drag to add nodes to the selection, click to toggle object " "selection" msgstr "" -#: ../src/ui/tools/node-tool.cpp:657 +#: ../src/ui/tools/node-tool.cpp:652 msgctxt "Node tool tip" msgid "<b>Shift</b>: drag to add nodes to the selection" msgstr "" -#: ../src/ui/tools/node-tool.cpp:686 +#: ../src/ui/tools/node-tool.cpp:681 #, c-format msgid "<b>%u of %u</b> node selected." msgid_plural "<b>%u of %u</b> nodes selected." msgstr[0] "" msgstr[1] "" -#: ../src/ui/tools/node-tool.cpp:693 +#: ../src/ui/tools/node-tool.cpp:688 #, c-format msgctxt "Node tool tip" msgid "%s Drag to select nodes, click to edit only this object (more: Shift)" msgstr "" -#: ../src/ui/tools/node-tool.cpp:699 +#: ../src/ui/tools/node-tool.cpp:694 #, c-format msgctxt "Node tool tip" msgid "%s Drag to select nodes, click clear the selection" msgstr "" -#: ../src/ui/tools/node-tool.cpp:708 +#: ../src/ui/tools/node-tool.cpp:703 msgctxt "Node tool tip" msgid "Drag to select nodes, click to edit only this object" msgstr "" -#: ../src/ui/tools/node-tool.cpp:711 +#: ../src/ui/tools/node-tool.cpp:706 msgctxt "Node tool tip" msgid "Drag to select nodes, click to clear the selection" msgstr "" -#: ../src/ui/tools/node-tool.cpp:716 +#: ../src/ui/tools/node-tool.cpp:711 msgctxt "Node tool tip" msgid "Drag to select objects to edit, click to edit this object (more: Shift)" msgstr "" -#: ../src/ui/tools/node-tool.cpp:719 +#: ../src/ui/tools/node-tool.cpp:714 msgctxt "Node tool tip" msgid "Drag to select objects to edit" msgstr "" @@ -24144,19 +24080,19 @@ msgstr "" msgid "Feature settings in CSS form. No sanity checking is performed." msgstr "" -#: ../src/ui/widget/layer-selector.cpp:116 +#: ../src/ui/widget/layer-selector.cpp:118 msgid "Toggle current layer visibility" msgstr "" -#: ../src/ui/widget/layer-selector.cpp:136 +#: ../src/ui/widget/layer-selector.cpp:138 msgid "Lock or unlock current layer" msgstr "" -#: ../src/ui/widget/layer-selector.cpp:139 +#: ../src/ui/widget/layer-selector.cpp:141 msgid "Current layer" msgstr "" -#: ../src/ui/widget/layer-selector.cpp:580 +#: ../src/ui/widget/layer-selector.cpp:582 msgid "(root)" msgstr "" @@ -24173,8 +24109,8 @@ msgid "Document license updated" msgstr "" #: ../src/ui/widget/object-composite-settings.cpp:47 -#: ../src/ui/widget/selected-style.cpp:1117 #: ../src/ui/widget/selected-style.cpp:1118 +#: ../src/ui/widget/selected-style.cpp:1119 msgid "Opacity (%)" msgstr "" @@ -24183,8 +24119,8 @@ msgid "Change blur" msgstr "" #: ../src/ui/widget/object-composite-settings.cpp:200 -#: ../src/ui/widget/selected-style.cpp:941 -#: ../src/ui/widget/selected-style.cpp:1243 +#: ../src/ui/widget/selected-style.cpp:942 +#: ../src/ui/widget/selected-style.cpp:1244 msgid "Change opacity" msgstr "" @@ -24306,92 +24242,92 @@ msgstr "" msgid "Set 'viewBox'" msgstr "" -#: ../src/ui/widget/panel.cpp:115 +#: ../src/ui/widget/panel.cpp:116 msgid "List" msgstr "" -#: ../src/ui/widget/panel.cpp:138 +#: ../src/ui/widget/panel.cpp:139 msgctxt "Swatches" msgid "Size" msgstr "" -#: ../src/ui/widget/panel.cpp:142 +#: ../src/ui/widget/panel.cpp:143 msgctxt "Swatches height" msgid "Tiny" msgstr "" -#: ../src/ui/widget/panel.cpp:143 +#: ../src/ui/widget/panel.cpp:144 msgctxt "Swatches height" msgid "Small" msgstr "" -#: ../src/ui/widget/panel.cpp:144 +#: ../src/ui/widget/panel.cpp:145 msgctxt "Swatches height" msgid "Medium" msgstr "" -#: ../src/ui/widget/panel.cpp:145 +#: ../src/ui/widget/panel.cpp:146 msgctxt "Swatches height" msgid "Large" msgstr "" -#: ../src/ui/widget/panel.cpp:146 +#: ../src/ui/widget/panel.cpp:147 msgctxt "Swatches height" msgid "Huge" msgstr "" -#: ../src/ui/widget/panel.cpp:168 +#: ../src/ui/widget/panel.cpp:169 msgctxt "Swatches" msgid "Width" msgstr "" -#: ../src/ui/widget/panel.cpp:172 +#: ../src/ui/widget/panel.cpp:173 msgctxt "Swatches width" msgid "Narrower" msgstr "" -#: ../src/ui/widget/panel.cpp:173 +#: ../src/ui/widget/panel.cpp:174 msgctxt "Swatches width" msgid "Narrow" msgstr "" -#: ../src/ui/widget/panel.cpp:174 +#: ../src/ui/widget/panel.cpp:175 msgctxt "Swatches width" msgid "Medium" msgstr "" -#: ../src/ui/widget/panel.cpp:175 +#: ../src/ui/widget/panel.cpp:176 msgctxt "Swatches width" msgid "Wide" msgstr "" -#: ../src/ui/widget/panel.cpp:176 +#: ../src/ui/widget/panel.cpp:177 msgctxt "Swatches width" msgid "Wider" msgstr "" -#: ../src/ui/widget/panel.cpp:206 +#: ../src/ui/widget/panel.cpp:207 msgctxt "Swatches" msgid "Border" msgstr "" -#: ../src/ui/widget/panel.cpp:210 +#: ../src/ui/widget/panel.cpp:211 msgctxt "Swatches border" msgid "None" msgstr "" -#: ../src/ui/widget/panel.cpp:211 +#: ../src/ui/widget/panel.cpp:212 msgctxt "Swatches border" msgid "Solid" msgstr "" -#: ../src/ui/widget/panel.cpp:212 +#: ../src/ui/widget/panel.cpp:213 msgctxt "Swatches border" msgid "Wide" msgstr "" #. TRANSLATORS: "Wrap" indicates how colour swatches are displayed -#: ../src/ui/widget/panel.cpp:243 +#: ../src/ui/widget/panel.cpp:244 msgctxt "Swatches" msgid "Wrap" msgstr "" @@ -24445,7 +24381,7 @@ msgid "" msgstr "" #: ../src/ui/widget/selected-style.cpp:131 -#: ../src/ui/widget/style-swatch.cpp:127 +#: ../src/ui/widget/style-swatch.cpp:129 msgid "Fill:" msgstr "" @@ -24453,287 +24389,287 @@ msgstr "" msgid "O:" msgstr "" -#: ../src/ui/widget/selected-style.cpp:178 +#: ../src/ui/widget/selected-style.cpp:179 msgid "N/A" msgstr "" -#: ../src/ui/widget/selected-style.cpp:181 -#: ../src/ui/widget/selected-style.cpp:1110 +#: ../src/ui/widget/selected-style.cpp:182 #: ../src/ui/widget/selected-style.cpp:1111 +#: ../src/ui/widget/selected-style.cpp:1112 #: ../src/widgets/gradient-toolbar.cpp:162 msgid "Nothing selected" msgstr "" -#: ../src/ui/widget/selected-style.cpp:184 +#: ../src/ui/widget/selected-style.cpp:185 msgctxt "Fill" msgid "<i>None</i>" msgstr "" -#: ../src/ui/widget/selected-style.cpp:186 +#: ../src/ui/widget/selected-style.cpp:187 msgctxt "Stroke" msgid "<i>None</i>" msgstr "" -#: ../src/ui/widget/selected-style.cpp:190 -#: ../src/ui/widget/style-swatch.cpp:321 +#: ../src/ui/widget/selected-style.cpp:191 +#: ../src/ui/widget/style-swatch.cpp:323 msgctxt "Fill and stroke" msgid "No fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:190 -#: ../src/ui/widget/style-swatch.cpp:321 +#: ../src/ui/widget/selected-style.cpp:191 +#: ../src/ui/widget/style-swatch.cpp:323 msgctxt "Fill and stroke" msgid "No stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:192 -#: ../src/ui/widget/style-swatch.cpp:300 ../src/widgets/paint-selector.cpp:231 +#: ../src/ui/widget/selected-style.cpp:193 +#: ../src/ui/widget/style-swatch.cpp:302 ../src/widgets/paint-selector.cpp:231 msgid "Pattern" msgstr "" -#: ../src/ui/widget/selected-style.cpp:195 -#: ../src/ui/widget/style-swatch.cpp:302 +#: ../src/ui/widget/selected-style.cpp:196 +#: ../src/ui/widget/style-swatch.cpp:304 msgid "Pattern fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:195 -#: ../src/ui/widget/style-swatch.cpp:302 +#: ../src/ui/widget/selected-style.cpp:196 +#: ../src/ui/widget/style-swatch.cpp:304 msgid "Pattern stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:197 +#: ../src/ui/widget/selected-style.cpp:198 msgid "<b>L</b>" msgstr "" -#: ../src/ui/widget/selected-style.cpp:200 -#: ../src/ui/widget/style-swatch.cpp:294 +#: ../src/ui/widget/selected-style.cpp:201 +#: ../src/ui/widget/style-swatch.cpp:296 msgid "Linear gradient fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:200 -#: ../src/ui/widget/style-swatch.cpp:294 +#: ../src/ui/widget/selected-style.cpp:201 +#: ../src/ui/widget/style-swatch.cpp:296 msgid "Linear gradient stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:207 +#: ../src/ui/widget/selected-style.cpp:208 msgid "<b>R</b>" msgstr "" -#: ../src/ui/widget/selected-style.cpp:210 -#: ../src/ui/widget/style-swatch.cpp:298 +#: ../src/ui/widget/selected-style.cpp:211 +#: ../src/ui/widget/style-swatch.cpp:300 msgid "Radial gradient fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:210 -#: ../src/ui/widget/style-swatch.cpp:298 +#: ../src/ui/widget/selected-style.cpp:211 +#: ../src/ui/widget/style-swatch.cpp:300 msgid "Radial gradient stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:218 +#: ../src/ui/widget/selected-style.cpp:219 msgid "<b>M</b>" msgstr "" -#: ../src/ui/widget/selected-style.cpp:221 +#: ../src/ui/widget/selected-style.cpp:222 msgid "Mesh gradient fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:221 +#: ../src/ui/widget/selected-style.cpp:222 msgid "Mesh gradient stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:229 +#: ../src/ui/widget/selected-style.cpp:230 msgid "Different" msgstr "" -#: ../src/ui/widget/selected-style.cpp:232 +#: ../src/ui/widget/selected-style.cpp:233 msgid "Different fills" msgstr "" -#: ../src/ui/widget/selected-style.cpp:232 +#: ../src/ui/widget/selected-style.cpp:233 msgid "Different strokes" msgstr "" -#: ../src/ui/widget/selected-style.cpp:234 -#: ../src/ui/widget/style-swatch.cpp:324 +#: ../src/ui/widget/selected-style.cpp:235 +#: ../src/ui/widget/style-swatch.cpp:326 msgid "<b>Unset</b>" msgstr "" #. TRANSLATORS COMMENT: unset is a verb here -#: ../src/ui/widget/selected-style.cpp:237 -#: ../src/ui/widget/selected-style.cpp:295 -#: ../src/ui/widget/selected-style.cpp:573 -#: ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:703 +#: ../src/ui/widget/selected-style.cpp:238 +#: ../src/ui/widget/selected-style.cpp:296 +#: ../src/ui/widget/selected-style.cpp:574 +#: ../src/ui/widget/style-swatch.cpp:328 ../src/widgets/fill-style.cpp:703 msgid "Unset fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:237 -#: ../src/ui/widget/selected-style.cpp:295 -#: ../src/ui/widget/selected-style.cpp:589 -#: ../src/ui/widget/style-swatch.cpp:326 ../src/widgets/fill-style.cpp:703 +#: ../src/ui/widget/selected-style.cpp:238 +#: ../src/ui/widget/selected-style.cpp:296 +#: ../src/ui/widget/selected-style.cpp:590 +#: ../src/ui/widget/style-swatch.cpp:328 ../src/widgets/fill-style.cpp:703 msgid "Unset stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:240 +#: ../src/ui/widget/selected-style.cpp:241 msgid "Flat color fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:240 +#: ../src/ui/widget/selected-style.cpp:241 msgid "Flat color stroke" msgstr "" #. TRANSLATOR COMMENT: A means "Averaged" -#: ../src/ui/widget/selected-style.cpp:243 +#: ../src/ui/widget/selected-style.cpp:244 msgid "<b>a</b>" msgstr "" -#: ../src/ui/widget/selected-style.cpp:246 +#: ../src/ui/widget/selected-style.cpp:247 msgid "Fill is averaged over selected objects" msgstr "" -#: ../src/ui/widget/selected-style.cpp:246 +#: ../src/ui/widget/selected-style.cpp:247 msgid "Stroke is averaged over selected objects" msgstr "" #. TRANSLATOR COMMENT: M means "Multiple" -#: ../src/ui/widget/selected-style.cpp:249 +#: ../src/ui/widget/selected-style.cpp:250 msgid "<b>m</b>" msgstr "" -#: ../src/ui/widget/selected-style.cpp:252 +#: ../src/ui/widget/selected-style.cpp:253 msgid "Multiple selected objects have the same fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:252 +#: ../src/ui/widget/selected-style.cpp:253 msgid "Multiple selected objects have the same stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:254 +#: ../src/ui/widget/selected-style.cpp:255 msgid "Edit fill..." msgstr "" -#: ../src/ui/widget/selected-style.cpp:254 +#: ../src/ui/widget/selected-style.cpp:255 msgid "Edit stroke..." msgstr "" -#: ../src/ui/widget/selected-style.cpp:258 +#: ../src/ui/widget/selected-style.cpp:259 msgid "Last set color" msgstr "" -#: ../src/ui/widget/selected-style.cpp:262 +#: ../src/ui/widget/selected-style.cpp:263 msgid "Last selected color" msgstr "" -#: ../src/ui/widget/selected-style.cpp:278 +#: ../src/ui/widget/selected-style.cpp:279 msgid "Copy color" msgstr "" -#: ../src/ui/widget/selected-style.cpp:282 +#: ../src/ui/widget/selected-style.cpp:283 msgid "Paste color" msgstr "" -#: ../src/ui/widget/selected-style.cpp:286 -#: ../src/ui/widget/selected-style.cpp:866 +#: ../src/ui/widget/selected-style.cpp:287 +#: ../src/ui/widget/selected-style.cpp:867 msgid "Swap fill and stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:290 -#: ../src/ui/widget/selected-style.cpp:598 -#: ../src/ui/widget/selected-style.cpp:607 +#: ../src/ui/widget/selected-style.cpp:291 +#: ../src/ui/widget/selected-style.cpp:599 +#: ../src/ui/widget/selected-style.cpp:608 msgid "Make fill opaque" msgstr "" -#: ../src/ui/widget/selected-style.cpp:290 +#: ../src/ui/widget/selected-style.cpp:291 msgid "Make stroke opaque" msgstr "" -#: ../src/ui/widget/selected-style.cpp:299 -#: ../src/ui/widget/selected-style.cpp:555 ../src/widgets/fill-style.cpp:503 +#: ../src/ui/widget/selected-style.cpp:300 +#: ../src/ui/widget/selected-style.cpp:556 ../src/widgets/fill-style.cpp:503 msgid "Remove fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:299 -#: ../src/ui/widget/selected-style.cpp:564 ../src/widgets/fill-style.cpp:503 +#: ../src/ui/widget/selected-style.cpp:300 +#: ../src/ui/widget/selected-style.cpp:565 ../src/widgets/fill-style.cpp:503 msgid "Remove stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:619 +#: ../src/ui/widget/selected-style.cpp:620 msgid "Apply last set color to fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:631 +#: ../src/ui/widget/selected-style.cpp:632 msgid "Apply last set color to stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:642 +#: ../src/ui/widget/selected-style.cpp:643 msgid "Apply last selected color to fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:653 +#: ../src/ui/widget/selected-style.cpp:654 msgid "Apply last selected color to stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:679 +#: ../src/ui/widget/selected-style.cpp:680 msgid "Invert fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:703 +#: ../src/ui/widget/selected-style.cpp:704 msgid "Invert stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:715 +#: ../src/ui/widget/selected-style.cpp:716 msgid "White fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:727 +#: ../src/ui/widget/selected-style.cpp:728 msgid "White stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:739 +#: ../src/ui/widget/selected-style.cpp:740 msgid "Black fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:751 +#: ../src/ui/widget/selected-style.cpp:752 msgid "Black stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:794 +#: ../src/ui/widget/selected-style.cpp:795 msgid "Paste fill" msgstr "" -#: ../src/ui/widget/selected-style.cpp:812 +#: ../src/ui/widget/selected-style.cpp:813 msgid "Paste stroke" msgstr "" -#: ../src/ui/widget/selected-style.cpp:968 +#: ../src/ui/widget/selected-style.cpp:969 msgid "Change stroke width" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1071 +#: ../src/ui/widget/selected-style.cpp:1072 msgid ", drag to adjust" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1156 +#: ../src/ui/widget/selected-style.cpp:1157 #, c-format msgid "Stroke width: %.5g%s%s" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1160 +#: ../src/ui/widget/selected-style.cpp:1161 msgid " (averaged)" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1186 +#: ../src/ui/widget/selected-style.cpp:1187 msgid "0 (transparent)" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1210 +#: ../src/ui/widget/selected-style.cpp:1211 msgid "100% (opaque)" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1384 +#: ../src/ui/widget/selected-style.cpp:1385 msgid "Adjust alpha" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1386 +#: ../src/ui/widget/selected-style.cpp:1387 #, c-format msgid "" "Adjusting <b>alpha</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with <b>Ctrl</" @@ -24741,11 +24677,11 @@ msgid "" "modifiers to adjust hue" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1390 +#: ../src/ui/widget/selected-style.cpp:1391 msgid "Adjust saturation" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1392 +#: ../src/ui/widget/selected-style.cpp:1393 #, c-format msgid "" "Adjusting <b>saturation</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with " @@ -24753,11 +24689,11 @@ msgid "" "modifiers to adjust hue" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1396 +#: ../src/ui/widget/selected-style.cpp:1397 msgid "Adjust lightness" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1398 +#: ../src/ui/widget/selected-style.cpp:1399 #, c-format msgid "" "Adjusting <b>lightness</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with " @@ -24765,11 +24701,11 @@ msgid "" "modifiers to adjust hue" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1402 +#: ../src/ui/widget/selected-style.cpp:1403 msgid "Adjust hue" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1404 +#: ../src/ui/widget/selected-style.cpp:1405 #, c-format msgid "" "Adjusting <b>hue</b>: was %.3g, now <b>%.3g</b> (diff %.3g); with <b>Shift</" @@ -24777,12 +24713,12 @@ msgid "" "to adjust lightness" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1522 -#: ../src/ui/widget/selected-style.cpp:1536 +#: ../src/ui/widget/selected-style.cpp:1523 +#: ../src/ui/widget/selected-style.cpp:1537 msgid "Adjust stroke width" msgstr "" -#: ../src/ui/widget/selected-style.cpp:1523 +#: ../src/ui/widget/selected-style.cpp:1524 #, c-format msgid "Adjusting <b>stroke width</b>: was %.3g, now <b>%.3g</b> (diff %.3g)" msgstr "" @@ -24793,40 +24729,40 @@ msgctxt "Sliders" msgid "Link" msgstr "" -#: ../src/ui/widget/style-swatch.cpp:292 +#: ../src/ui/widget/style-swatch.cpp:294 msgid "L Gradient" msgstr "" -#: ../src/ui/widget/style-swatch.cpp:296 +#: ../src/ui/widget/style-swatch.cpp:298 msgid "R Gradient" msgstr "" -#: ../src/ui/widget/style-swatch.cpp:312 +#: ../src/ui/widget/style-swatch.cpp:314 #, c-format msgid "Fill: %06x/%.3g" msgstr "" -#: ../src/ui/widget/style-swatch.cpp:314 +#: ../src/ui/widget/style-swatch.cpp:316 #, c-format msgid "Stroke: %06x/%.3g" msgstr "" -#: ../src/ui/widget/style-swatch.cpp:319 +#: ../src/ui/widget/style-swatch.cpp:321 msgctxt "Fill and stroke" msgid "<i>None</i>" msgstr "" -#: ../src/ui/widget/style-swatch.cpp:346 +#: ../src/ui/widget/style-swatch.cpp:348 #, c-format msgid "Stroke width: %.5g%s" msgstr "" -#: ../src/ui/widget/style-swatch.cpp:362 +#: ../src/ui/widget/style-swatch.cpp:364 #, c-format msgid "O: %2.0f" msgstr "" -#: ../src/ui/widget/style-swatch.cpp:367 +#: ../src/ui/widget/style-swatch.cpp:369 #, c-format msgid "Opacity: %2.1f %%" msgstr "" @@ -25546,7 +25482,7 @@ msgstr "" msgid "Lock All Guides" msgstr "" -#: ../src/verbs.cpp:2546 ../src/widgets/desktop-widget.cpp:402 +#: ../src/verbs.cpp:2546 ../src/widgets/desktop-widget.cpp:404 msgid "Toggle lock of all guides in the document" msgstr "" @@ -27692,96 +27628,96 @@ msgstr "" msgid "Pattern offset" msgstr "" -#: ../src/widgets/desktop-widget.cpp:495 +#: ../src/widgets/desktop-widget.cpp:499 msgid "Zoom drawing if window size changes" msgstr "" -#: ../src/widgets/desktop-widget.cpp:702 -msgid "Cursor coordinates" +#. Display the initial welcome message in the statusbar +#: ../src/widgets/desktop-widget.cpp:701 +msgid "" +"<b>Welcome to Inkscape!</b> Use shape or freehand tools to create objects; " +"use selector (arrow) to move or transform them." msgstr "" -#: ../src/widgets/desktop-widget.cpp:723 -msgid "Z:" +#: ../src/widgets/desktop-widget.cpp:743 +msgid "Cursor coordinates" msgstr "" -#. display the initial welcome message in the statusbar -#: ../src/widgets/desktop-widget.cpp:776 -msgid "" -"<b>Welcome to Inkscape!</b> Use shape or freehand tools to create objects; " -"use selector (arrow) to move or transform them." +#: ../src/widgets/desktop-widget.cpp:764 +msgid "Z:" msgstr "" -#: ../src/widgets/desktop-widget.cpp:870 +#: ../src/widgets/desktop-widget.cpp:885 msgid "grayscale" msgstr "" -#: ../src/widgets/desktop-widget.cpp:871 +#: ../src/widgets/desktop-widget.cpp:886 msgid ", grayscale" msgstr "" -#: ../src/widgets/desktop-widget.cpp:872 +#: ../src/widgets/desktop-widget.cpp:887 msgid "print colors preview" msgstr "" -#: ../src/widgets/desktop-widget.cpp:873 +#: ../src/widgets/desktop-widget.cpp:888 msgid ", print colors preview" msgstr "" -#: ../src/widgets/desktop-widget.cpp:874 +#: ../src/widgets/desktop-widget.cpp:889 msgid "outline" msgstr "" -#: ../src/widgets/desktop-widget.cpp:875 +#: ../src/widgets/desktop-widget.cpp:890 msgid "no filters" msgstr "" -#: ../src/widgets/desktop-widget.cpp:902 +#: ../src/widgets/desktop-widget.cpp:917 #, c-format msgid "%s%s: %d (%s%s) - Inkscape" msgstr "" -#: ../src/widgets/desktop-widget.cpp:904 ../src/widgets/desktop-widget.cpp:908 +#: ../src/widgets/desktop-widget.cpp:919 ../src/widgets/desktop-widget.cpp:923 #, c-format msgid "%s%s: %d (%s) - Inkscape" msgstr "" -#: ../src/widgets/desktop-widget.cpp:910 +#: ../src/widgets/desktop-widget.cpp:925 #, c-format msgid "%s%s: %d - Inkscape" msgstr "" -#: ../src/widgets/desktop-widget.cpp:916 +#: ../src/widgets/desktop-widget.cpp:931 #, c-format msgid "%s%s (%s%s) - Inkscape" msgstr "" -#: ../src/widgets/desktop-widget.cpp:918 ../src/widgets/desktop-widget.cpp:922 +#: ../src/widgets/desktop-widget.cpp:933 ../src/widgets/desktop-widget.cpp:937 #, c-format msgid "%s%s (%s) - Inkscape" msgstr "" -#: ../src/widgets/desktop-widget.cpp:924 +#: ../src/widgets/desktop-widget.cpp:939 #, c-format msgid "%s%s - Inkscape" msgstr "" -#: ../src/widgets/desktop-widget.cpp:1096 +#: ../src/widgets/desktop-widget.cpp:1111 msgid "Locked all guides" msgstr "" -#: ../src/widgets/desktop-widget.cpp:1098 +#: ../src/widgets/desktop-widget.cpp:1113 msgid "Unlocked all guides" msgstr "" -#: ../src/widgets/desktop-widget.cpp:1115 +#: ../src/widgets/desktop-widget.cpp:1130 msgid "Color-managed display is <b>enabled</b> in this window" msgstr "" -#: ../src/widgets/desktop-widget.cpp:1117 +#: ../src/widgets/desktop-widget.cpp:1132 msgid "Color-managed display is <b>disabled</b> in this window" msgstr "" -#: ../src/widgets/desktop-widget.cpp:1172 +#: ../src/widgets/desktop-widget.cpp:1187 #, c-format msgid "" "<span weight=\"bold\" size=\"larger\">Save changes to document \"%s\" before " @@ -27790,12 +27726,12 @@ msgid "" "If you close without saving, your changes will be discarded." msgstr "" -#: ../src/widgets/desktop-widget.cpp:1182 -#: ../src/widgets/desktop-widget.cpp:1241 +#: ../src/widgets/desktop-widget.cpp:1197 +#: ../src/widgets/desktop-widget.cpp:1256 msgid "Close _without saving" msgstr "" -#: ../src/widgets/desktop-widget.cpp:1231 +#: ../src/widgets/desktop-widget.cpp:1246 #, c-format msgid "" "<span weight=\"bold\" size=\"larger\">The file \"%s\" was saved with a " @@ -27804,11 +27740,11 @@ msgid "" "Do you want to save this file as Inkscape SVG?" msgstr "" -#: ../src/widgets/desktop-widget.cpp:1243 +#: ../src/widgets/desktop-widget.cpp:1258 msgid "_Save as Inkscape SVG" msgstr "" -#: ../src/widgets/desktop-widget.cpp:1456 +#: ../src/widgets/desktop-widget.cpp:1472 msgid "Note:" msgstr "" @@ -29341,6 +29277,10 @@ msgstr "" msgid "Delete sprayed items from selection" msgstr "" +#: ../src/widgets/spray-toolbar.cpp:388 ../src/widgets/tweak-toolbar.cpp:253 +msgid "Mode" +msgstr "" + #. Population #: ../src/widgets/spray-toolbar.cpp:408 msgid "(low population)" @@ -30095,131 +30035,131 @@ msgstr "" msgid "Style of Paint Bucket fill objects" msgstr "" -#: ../src/widgets/toolbox.cpp:1742 +#: ../src/widgets/toolbox.cpp:1750 msgid "Bounding box" msgstr "" -#: ../src/widgets/toolbox.cpp:1742 +#: ../src/widgets/toolbox.cpp:1750 msgid "Snap bounding boxes" msgstr "" -#: ../src/widgets/toolbox.cpp:1751 +#: ../src/widgets/toolbox.cpp:1759 msgid "Bounding box edges" msgstr "" -#: ../src/widgets/toolbox.cpp:1751 +#: ../src/widgets/toolbox.cpp:1759 msgid "Snap to edges of a bounding box" msgstr "" -#: ../src/widgets/toolbox.cpp:1760 +#: ../src/widgets/toolbox.cpp:1768 msgid "Bounding box corners" msgstr "" -#: ../src/widgets/toolbox.cpp:1760 +#: ../src/widgets/toolbox.cpp:1768 msgid "Snap bounding box corners" msgstr "" -#: ../src/widgets/toolbox.cpp:1769 +#: ../src/widgets/toolbox.cpp:1777 msgid "BBox Edge Midpoints" msgstr "" -#: ../src/widgets/toolbox.cpp:1769 +#: ../src/widgets/toolbox.cpp:1777 msgid "Snap midpoints of bounding box edges" msgstr "" -#: ../src/widgets/toolbox.cpp:1779 +#: ../src/widgets/toolbox.cpp:1787 msgid "BBox Centers" msgstr "" -#: ../src/widgets/toolbox.cpp:1779 +#: ../src/widgets/toolbox.cpp:1787 msgid "Snapping centers of bounding boxes" msgstr "" -#: ../src/widgets/toolbox.cpp:1788 +#: ../src/widgets/toolbox.cpp:1796 msgid "Snap nodes, paths, and handles" msgstr "" -#: ../src/widgets/toolbox.cpp:1796 +#: ../src/widgets/toolbox.cpp:1804 msgid "Snap to paths" msgstr "" -#: ../src/widgets/toolbox.cpp:1805 +#: ../src/widgets/toolbox.cpp:1813 msgid "Path intersections" msgstr "" -#: ../src/widgets/toolbox.cpp:1805 +#: ../src/widgets/toolbox.cpp:1813 msgid "Snap to path intersections" msgstr "" -#: ../src/widgets/toolbox.cpp:1814 +#: ../src/widgets/toolbox.cpp:1822 msgid "To nodes" msgstr "" -#: ../src/widgets/toolbox.cpp:1814 +#: ../src/widgets/toolbox.cpp:1822 msgid "Snap cusp nodes, incl. rectangle corners" msgstr "" -#: ../src/widgets/toolbox.cpp:1823 +#: ../src/widgets/toolbox.cpp:1831 msgid "Smooth nodes" msgstr "" -#: ../src/widgets/toolbox.cpp:1823 +#: ../src/widgets/toolbox.cpp:1831 msgid "Snap smooth nodes, incl. quadrant points of ellipses" msgstr "" -#: ../src/widgets/toolbox.cpp:1832 +#: ../src/widgets/toolbox.cpp:1840 msgid "Line Midpoints" msgstr "" -#: ../src/widgets/toolbox.cpp:1832 +#: ../src/widgets/toolbox.cpp:1840 msgid "Snap midpoints of line segments" msgstr "" -#: ../src/widgets/toolbox.cpp:1841 +#: ../src/widgets/toolbox.cpp:1849 msgid "Others" msgstr "" -#: ../src/widgets/toolbox.cpp:1841 +#: ../src/widgets/toolbox.cpp:1849 msgid "Snap other points (centers, guide origins, gradient handles, etc.)" msgstr "" -#: ../src/widgets/toolbox.cpp:1849 +#: ../src/widgets/toolbox.cpp:1857 msgid "Object Centers" msgstr "" -#: ../src/widgets/toolbox.cpp:1849 +#: ../src/widgets/toolbox.cpp:1857 msgid "Snap centers of objects" msgstr "" -#: ../src/widgets/toolbox.cpp:1858 +#: ../src/widgets/toolbox.cpp:1866 msgid "Rotation Centers" msgstr "" -#: ../src/widgets/toolbox.cpp:1858 +#: ../src/widgets/toolbox.cpp:1866 msgid "Snap an item's rotation center" msgstr "" -#: ../src/widgets/toolbox.cpp:1867 +#: ../src/widgets/toolbox.cpp:1875 msgid "Text baseline" msgstr "" -#: ../src/widgets/toolbox.cpp:1867 +#: ../src/widgets/toolbox.cpp:1875 msgid "Snap text anchors and baselines" msgstr "" -#: ../src/widgets/toolbox.cpp:1877 +#: ../src/widgets/toolbox.cpp:1885 msgid "Page border" msgstr "" -#: ../src/widgets/toolbox.cpp:1877 +#: ../src/widgets/toolbox.cpp:1885 msgid "Snap to the page border" msgstr "" -#: ../src/widgets/toolbox.cpp:1886 +#: ../src/widgets/toolbox.cpp:1894 msgid "Snap to grids" msgstr "" -#: ../src/widgets/toolbox.cpp:1895 +#: ../src/widgets/toolbox.cpp:1903 msgid "Snap guides" msgstr "" @@ -30432,12 +30372,6 @@ msgstr "" msgid "Use the pressure of the input device to alter the force of tweak action" msgstr "" -#: ../share/extensions/convert2dashes.py:100 -msgid "" -"The selected object is not a path.\n" -"Try using the procedure Path->Object to Path." -msgstr "" - #: ../share/extensions/dimension.py:109 msgid "Please select an object." msgstr "" @@ -30479,7 +30413,7 @@ msgstr "" msgid "Area (px^2): " msgstr "" -#: ../share/extensions/dxf_input.py:528 +#: ../share/extensions/dxf_input.py:531 #, python-format msgid "" "%d ENTITIES of type POLYLINE encountered and ignored. Please try to convert " @@ -31121,17 +31055,29 @@ msgid "" msgstr "" #: ../share/extensions/plotter.py:147 +msgid "pySerial is not installed. Please follow these steps:" +msgstr "" + +#: ../share/extensions/plotter.py:148 +msgid "1. Download and extract (unzip) this file to your local harddisk:" +msgstr "" + +#: ../share/extensions/plotter.py:150 msgid "" -"pySerial is not installed.\n" -"\n" -"1. Download pySerial here (not the \".exe\"!): http://pypi.python.org/pypi/" -"pyserial\n" -"2. Extract the \"serial\" subfolder from the zip to the following folder: C:" -"\\[Program files]\\inkscape\\python\\Lib\\\n" -"3. Restart Inkscape." +"2. Copy the \"serial\" folder (Can be found inside the just extracted folder)" msgstr "" -#: ../share/extensions/plotter.py:199 +#: ../share/extensions/plotter.py:151 +msgid "" +" into the following Inkscape folder: C:\\<Program files>\\inkscape\\python" +"\\Lib\\" +msgstr "" + +#: ../share/extensions/plotter.py:152 +msgid "3. Close and restart Inkscape." +msgstr "" + +#: ../share/extensions/plotter.py:201 msgid "" "Could not open port. Please check that your plotter is running, connected " "and the settings are correct." @@ -31357,10 +31303,10 @@ msgstr "" #: ../share/extensions/edge3d.inx.h:9 ../share/extensions/flatten.inx.h:3 #: ../share/extensions/fractalize.inx.h:4 #: ../share/extensions/interp_att_g.inx.h:31 +#: ../share/extensions/jitternodes.inx.h:14 #: ../share/extensions/markers_strokepaint.inx.h:13 #: ../share/extensions/perspective.inx.h:2 #: ../share/extensions/pixelsnap.inx.h:3 -#: ../share/extensions/radiusrand.inx.h:10 #: ../share/extensions/rubberstretch.inx.h:6 #: ../share/extensions/straightseg.inx.h:4 #: ../share/extensions/summersnight.inx.h:2 ../share/extensions/whirl.inx.h:4 @@ -34596,6 +34542,48 @@ msgid "" "presentation. Please see code.google.com/p/jessyink for more details." msgstr "" +#: ../share/extensions/jitternodes.inx.h:1 +msgid "Jitter nodes" +msgstr "" + +#: ../share/extensions/jitternodes.inx.h:3 +msgid "Maximum displacement in X (px):" +msgstr "" + +#: ../share/extensions/jitternodes.inx.h:4 +msgid "Maximum displacement in Y (px):" +msgstr "" + +#: ../share/extensions/jitternodes.inx.h:6 +msgid "Shift node handles" +msgstr "" + +#: ../share/extensions/jitternodes.inx.h:7 +msgid "Distribution of the displacements:" +msgstr "" + +#: ../share/extensions/jitternodes.inx.h:8 +msgid "Uniform" +msgstr "" + +#: ../share/extensions/jitternodes.inx.h:9 +msgid "Pareto" +msgstr "" + +#: ../share/extensions/jitternodes.inx.h:10 +msgid "Gaussian" +msgstr "" + +#: ../share/extensions/jitternodes.inx.h:11 +msgid "Log-normal" +msgstr "" + +#: ../share/extensions/jitternodes.inx.h:13 +msgid "" +"This effect randomly shifts the nodes (and optionally node handles) of the " +"selected path." +msgstr "" + #: ../share/extensions/layers2svgfont.inx.h:1 msgid "3 - Convert Glyph Layers to SVG Font" msgstr "" @@ -35809,32 +35797,6 @@ msgstr "" msgid "PostScript Input" msgstr "" -#: ../share/extensions/radiusrand.inx.h:1 -msgid "Jitter nodes" -msgstr "" - -#: ../share/extensions/radiusrand.inx.h:3 -msgid "Maximum displacement in X (px):" -msgstr "" - -#: ../share/extensions/radiusrand.inx.h:4 -msgid "Maximum displacement in Y (px):" -msgstr "" - -#: ../share/extensions/radiusrand.inx.h:6 -msgid "Shift node handles" -msgstr "" - -#: ../share/extensions/radiusrand.inx.h:7 -msgid "Use normal distribution" -msgstr "" - -#: ../share/extensions/radiusrand.inx.h:9 -msgid "" -"This effect randomly shifts the nodes (and optionally node handles) of the " -"selected path." -msgstr "" - #: ../share/extensions/render_alphabetsoup.inx.h:1 msgid "Alphabet Soup" msgstr "" diff --git a/share/extensions/convert2dashes.py b/share/extensions/convert2dashes.py index 3910d8e82..d13e6498e 100755 --- a/share/extensions/convert2dashes.py +++ b/share/extensions/convert2dashes.py @@ -26,8 +26,6 @@ import cubicsuperpath import bezmisc import simplestyle -inkex.localize() - def tpoint((x1,y1), (x2,y2), t = 0.5): return [x1+t*(x2-x1),y1+t*(y2-y1)] def cspbezsplit(sp1, sp2, t = 0.5): @@ -49,9 +47,21 @@ def cspseglength(sp1,sp2, tolerance = 0.001): class SplitIt(inkex.Effect): def __init__(self): inkex.Effect.__init__(self) + self.not_converted = [] def effect(self): - for id, node in self.selected.iteritems(): + for _, node in self.selected.iteritems(): + self.convert2dash(node) + if len(self.not_converted): + inkex.errormsg('Total number of objects not converted: {}\n'.format(len(self.not_converted))) + # return list of IDs in case the user needs to find a specific object + inkex.debug(self.not_converted) + + def convert2dash(self, node): + if node.tag == inkex.addNS('g', 'svg'): + for child in node: + self.convert2dash(child) + else: if node.tag == inkex.addNS('path','svg'): dashes = [] offset = 0 @@ -97,7 +107,7 @@ class SplitIt(inkex.Effect): if node.get(inkex.addNS('type','sodipodi')): del node.attrib[inkex.addNS('type', 'sodipodi')] else: - inkex.errormsg(_("The selected object is not a path.\nTry using the procedure Path->Object to Path.")) + self.not_converted.append(node.get('id')) if __name__ == '__main__': e = SplitIt() diff --git a/share/extensions/dimension.py b/share/extensions/dimension.py index 462a05bae..e6b2d8f85 100755 --- a/share/extensions/dimension.py +++ b/share/extensions/dimension.py @@ -44,7 +44,6 @@ import inkex import pathmodifier from simpletransform import * -inkex.localize() class Dimension(pathmodifier.PathModifier): def __init__(self): diff --git a/share/extensions/draw_from_triangle.py b/share/extensions/draw_from_triangle.py index 5efabfbba..74a58b863 100755 --- a/share/extensions/draw_from_triangle.py +++ b/share/extensions/draw_from_triangle.py @@ -38,7 +38,6 @@ import inkex import simplestyle import simplepath -inkex.localize() #DRAWING ROUTINES diff --git a/share/extensions/dxf_input.py b/share/extensions/dxf_input.py index caeee6679..1dcbac7b8 100755 --- a/share/extensions/dxf_input.py +++ b/share/extensions/dxf_input.py @@ -26,7 +26,6 @@ import inkex, simplestyle, math from StringIO import StringIO from urllib import quote -inkex.localize() def export_MTEXT(): # mandatory group codes : (1 or 3, 10, 20) (text, x, y) diff --git a/share/extensions/dxf_outlines.py b/share/extensions/dxf_outlines.py index 0e8cb7f62..525461bde 100755 --- a/share/extensions/dxf_outlines.py +++ b/share/extensions/dxf_outlines.py @@ -40,8 +40,6 @@ import cubicsuperpath import coloreffect import dxf_templates -inkex.localize() - try: from numpy import * from numpy.linalg import solve diff --git a/share/extensions/embedimage.py b/share/extensions/embedimage.py index 136c20f98..9ebe084a3 100755 --- a/share/extensions/embedimage.py +++ b/share/extensions/embedimage.py @@ -25,7 +25,6 @@ import urlparse # local library import inkex -inkex.localize() class Embedder(inkex.Effect): def __init__(self): diff --git a/share/extensions/export_gimp_palette.py b/share/extensions/export_gimp_palette.py index 25856f4b4..9c04d6e34 100755 --- a/share/extensions/export_gimp_palette.py +++ b/share/extensions/export_gimp_palette.py @@ -19,8 +19,6 @@ except: import inkex import simplestyle -inkex.localize() - colortags=(u'fill',u'stroke',u'stop-color',u'flood-color',u'lighting-color') colors={} diff --git a/share/extensions/extractimage.py b/share/extensions/extractimage.py index aae7bd062..031a01560 100755 --- a/share/extensions/extractimage.py +++ b/share/extensions/extractimage.py @@ -22,8 +22,6 @@ import os # local library import inkex -inkex.localize() - class MyEffect(inkex.Effect): def __init__(self): inkex.Effect.__init__(self) diff --git a/share/extensions/extrude.py b/share/extensions/extrude.py index 8db6b1512..88ae3994a 100755 --- a/share/extensions/extrude.py +++ b/share/extensions/extrude.py @@ -22,8 +22,6 @@ import simplepath import simpletransform import cubicsuperpath -inkex.localize() - class Extrude(inkex.Effect): def __init__(self): inkex.Effect.__init__(self) diff --git a/share/extensions/funcplot.py b/share/extensions/funcplot.py index c0fb3e525..557aac302 100755 --- a/share/extensions/funcplot.py +++ b/share/extensions/funcplot.py @@ -34,8 +34,6 @@ import inkex import simplepath import simplestyle -inkex.localize() - def drawfunction(xstart, xend, ybottom, ytop, samples, width, height, left, bottom, fx = "sin(x)", fpx = "cos(x)", fponum = True, times2pi = False, polar = False, isoscale = True, drawaxis = True, endpts = False): diff --git a/share/extensions/gcodetools.py b/share/extensions/gcodetools.py index 4cb5b2696..dab0312af 100755 --- a/share/extensions/gcodetools.py +++ b/share/extensions/gcodetools.py @@ -87,8 +87,6 @@ import simplepath import cubicsuperpath import simpletransform import bezmisc - -inkex.localize() ### Check if inkex has errormsg (0.46 version does not have one.) Could be removed later. if "errormsg" not in dir(inkex): diff --git a/share/extensions/generate_voronoi.py b/share/extensions/generate_voronoi.py index 8907db493..4cf541aa2 100755 --- a/share/extensions/generate_voronoi.py +++ b/share/extensions/generate_voronoi.py @@ -27,8 +27,6 @@ import inkex import simplestyle, simpletransform import voronoi -inkex.localize() - try: from subprocess import Popen, PIPE except: diff --git a/share/extensions/gimp_xcf.py b/share/extensions/gimp_xcf.py index 39dec8c13..7dfdc0cc8 100755 --- a/share/extensions/gimp_xcf.py +++ b/share/extensions/gimp_xcf.py @@ -27,8 +27,6 @@ import tempfile # local library import inkex -inkex.localize() - # Define extension exceptions class GimpXCFError(Exception): pass diff --git a/share/extensions/guides_creator.py b/share/extensions/guides_creator.py index e0aa6cadf..70144d9dd 100755 --- a/share/extensions/guides_creator.py +++ b/share/extensions/guides_creator.py @@ -54,9 +54,6 @@ from math import sqrt import inkex from simplestyle import * -# for localized debugging output -inkex.localize() - from xml.etree import ElementTree as ET # for golden number formula and diagonal guides diff --git a/share/extensions/guillotine.py b/share/extensions/guillotine.py index 15a0fba96..ee7ae39fa 100755 --- a/share/extensions/guillotine.py +++ b/share/extensions/guillotine.py @@ -50,8 +50,6 @@ except: import inkex import simplestyle -inkex.localize() - locale.setlocale(locale.LC_ALL, '') def float_sort(a, b): diff --git a/share/extensions/hpgl_input.py b/share/extensions/hpgl_input.py index 8cc7edaaf..2b275cbf8 100755 --- a/share/extensions/hpgl_input.py +++ b/share/extensions/hpgl_input.py @@ -25,8 +25,6 @@ from StringIO import StringIO import hpgl_decoder import inkex import sys -inkex.localize() - # parse options parser = inkex.optparse.OptionParser(usage='usage: %prog [options] HPGLfile', option_class=inkex.InkOption) @@ -68,4 +66,4 @@ if 'UNKNOWN_COMMANDS' in warnings: # deliver document to inkscape doc.write(inkex.sys.stdout) -# vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 fileencoding=utf-8 textwidth=99
\ No newline at end of file +# vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 fileencoding=utf-8 textwidth=99 diff --git a/share/extensions/hpgl_output.py b/share/extensions/hpgl_output.py index 477db40e7..58f82da71 100755 --- a/share/extensions/hpgl_output.py +++ b/share/extensions/hpgl_output.py @@ -23,7 +23,6 @@ import sys # local libraries import hpgl_encoder import inkex -inkex.localize() class HpglOutput(inkex.Effect): @@ -79,4 +78,4 @@ if __name__ == '__main__': e = HpglOutput() e.affect() -# vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 fileencoding=utf-8 textwidth=99
\ No newline at end of file +# vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 fileencoding=utf-8 textwidth=99 diff --git a/share/extensions/image_attributes.py b/share/extensions/image_attributes.py index 80ad62c26..98cc5204f 100755 --- a/share/extensions/image_attributes.py +++ b/share/extensions/image_attributes.py @@ -28,12 +28,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import inkex import simplestyle -try: - inkex.localize() -except: - import gettext - _ = gettext.gettext - class SetAttrImage(inkex.Effect): def __init__(self): diff --git a/share/extensions/inkex.py b/share/extensions/inkex.py index 264ae0ff4..9d3bb0c6d 100755 --- a/share/extensions/inkex.py +++ b/share/extensions/inkex.py @@ -95,7 +95,6 @@ def errormsg(msg): Note that this should always be combined with translation: import inkex - inkex.localize() ... inkex.errormsg(_("This extension requires two selected paths.")) """ @@ -275,6 +274,7 @@ class Effect: def affect(self, args=sys.argv[1:], output=True): """Affect an SVG document with a callback effect""" self.svg_file = args[-1] + localize() self.getoptions(args) self.parse() self.getposinlayer() diff --git a/share/extensions/interp_att_g.py b/share/extensions/interp_att_g.py index 2ae46b46d..8718caf41 100755 --- a/share/extensions/interp_att_g.py +++ b/share/extensions/interp_att_g.py @@ -25,7 +25,6 @@ import inkex import simplestyle from pathmodifier import zSort -inkex.localize() class InterpAttG(inkex.Effect): diff --git a/share/extensions/jessyInk_autoTexts.py b/share/extensions/jessyInk_autoTexts.py index ed0edb6fa..2c52964da 100755 --- a/share/extensions/jessyInk_autoTexts.py +++ b/share/extensions/jessyInk_autoTexts.py @@ -25,7 +25,6 @@ sys.path.append('C:\Program Files\Inkscape\share\extensions') # We will use the inkex module with the predefined Effect base class. import inkex -inkex.localize() class JessyInk_AutoTexts(inkex.Effect): def __init__(self): diff --git a/share/extensions/jessyInk_effects.py b/share/extensions/jessyInk_effects.py index e20e9fc2c..dc56d3a75 100755 --- a/share/extensions/jessyInk_effects.py +++ b/share/extensions/jessyInk_effects.py @@ -25,7 +25,6 @@ sys.path.append('C:\Program Files\Inkscape\share\extensions') # We will use the inkex module with the predefined Effect base class. import inkex -inkex.localize() class JessyInk_Effects(inkex.Effect): def __init__(self): diff --git a/share/extensions/jessyInk_export.py b/share/extensions/jessyInk_export.py index 71907e276..1c7cc8c37 100755 --- a/share/extensions/jessyInk_export.py +++ b/share/extensions/jessyInk_export.py @@ -31,8 +31,6 @@ import zipfile import glob import re -inkex.localize() - def propStrToDict(inStr): dictio = {} diff --git a/share/extensions/jessyInk_keyBindings.py b/share/extensions/jessyInk_keyBindings.py index df50f4447..2e2b48c7d 100755 --- a/share/extensions/jessyInk_keyBindings.py +++ b/share/extensions/jessyInk_keyBindings.py @@ -26,7 +26,6 @@ sys.path.append('C:\Program Files\Inkscape\share\extensions') # We will use the inkex module with the predefined Effect base class. import inkex -inkex.localize() class JessyInk_CustomKeyBindings(inkex.Effect): modes = ('slide', 'index', 'drawing') diff --git a/share/extensions/jessyInk_masterSlide.py b/share/extensions/jessyInk_masterSlide.py index eca7711ff..edaf751fa 100755 --- a/share/extensions/jessyInk_masterSlide.py +++ b/share/extensions/jessyInk_masterSlide.py @@ -26,8 +26,6 @@ sys.path.append('C:\Program Files\Inkscape\share\extensions') # We will use the inkex module with the predefined Effect base class. import inkex -inkex.localize() - class JessyInk_MasterSlide(inkex.Effect): def __init__(self): # Call the base class constructor. diff --git a/share/extensions/jessyInk_mouseHandler.py b/share/extensions/jessyInk_mouseHandler.py index fafc8eec3..3b64e7658 100755 --- a/share/extensions/jessyInk_mouseHandler.py +++ b/share/extensions/jessyInk_mouseHandler.py @@ -28,7 +28,6 @@ sys.path.append('C:\Program Files\Inkscape\share\extensions') # We will use the inkex module with the predefined Effect base class. import inkex -inkex.localize() class JessyInk_CustomMouseHandler(inkex.Effect): def __init__(self): diff --git a/share/extensions/jessyInk_summary.py b/share/extensions/jessyInk_summary.py index feff79b37..c5be47a49 100755 --- a/share/extensions/jessyInk_summary.py +++ b/share/extensions/jessyInk_summary.py @@ -26,7 +26,6 @@ sys.path.append('C:\Program Files\Inkscape\share\extensions') # We will use the inkex module with the predefined Effect base class. import inkex -inkex.localize() def propStrToList(str): list = [] diff --git a/share/extensions/jessyInk_transitions.py b/share/extensions/jessyInk_transitions.py index bfd75584c..f463b2fb5 100755 --- a/share/extensions/jessyInk_transitions.py +++ b/share/extensions/jessyInk_transitions.py @@ -26,7 +26,6 @@ sys.path.append('C:\Program Files\Inkscape\share\extensions') # We will use the inkex module with the predefined Effect base class. import inkex -inkex.localize() class JessyInk_Transitions(inkex.Effect): def __init__(self): diff --git a/share/extensions/jessyInk_video.py b/share/extensions/jessyInk_video.py index bca98e9a7..bd20d837f 100755 --- a/share/extensions/jessyInk_video.py +++ b/share/extensions/jessyInk_video.py @@ -30,8 +30,6 @@ import re from lxml import etree from copy import deepcopy -inkex.localize() - class JessyInk_Effects(inkex.Effect): def __init__(self): # Call the base class constructor. diff --git a/share/extensions/jessyInk_view.py b/share/extensions/jessyInk_view.py index ee71a1d35..37a30758f 100755 --- a/share/extensions/jessyInk_view.py +++ b/share/extensions/jessyInk_view.py @@ -26,7 +26,6 @@ sys.path.append('C:\Program Files\Inkscape\share\extensions') # We will use the inkex module with the predefined Effect base class. import inkex -inkex.localize() def propStrToList(str): list = [] diff --git a/share/extensions/radiusrand.inx b/share/extensions/jitternodes.inx index 38e7d6c4c..817fbd276 100644 --- a/share/extensions/radiusrand.inx +++ b/share/extensions/jitternodes.inx @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> <_name>Jitter nodes</_name> - <id>org.ekips.filter.radiusrand</id> - <dependency type="executable" location="extensions">radiusrand.py</dependency> + <id>org.ekips.filter.jitternodes</id> + <dependency type="executable" location="extensions">jitternodes.py</dependency> <dependency type="executable" location="extensions">inkex.py</dependency> <param name="tab" type="notebook"> <page name="Options" _gui-text="Options"> @@ -10,7 +10,12 @@ <param name="radiusy" type="float" min="0.0" max="1000.0" _gui-text="Maximum displacement in Y (px):">10.0</param> <param name="end" type="boolean" _gui-text="Shift nodes">true</param> <param name="ctrl" type="boolean" _gui-text="Shift node handles">false</param> - <param name="norm" type="boolean" _gui-text="Use normal distribution">true</param> + <param name="dist" type="enum" _gui-text="Distribution of the displacements:"> + <_item value="Uniform">Uniform</_item> + <_item value="Pareto">Pareto</_item> + <_item value="Gaussian">Gaussian</_item> + <_item value="Lognorm">Log-normal</_item> + </param> </page> <page name="Help" _gui-text="Help"> <_param name="title" type="description">This effect randomly shifts the nodes (and optionally node handles) of the selected path.</_param> @@ -23,6 +28,6 @@ </effects-menu> </effect> <script> - <command reldir="extensions" interpreter="python">radiusrand.py</command> + <command reldir="extensions" interpreter="python">jitternodes.py</command> </script> </inkscape-extension> diff --git a/share/extensions/radiusrand.py b/share/extensions/jitternodes.py index e4585ccd4..d6f5ce36d 100755 --- a/share/extensions/radiusrand.py +++ b/share/extensions/jitternodes.py @@ -1,10 +1,11 @@ -#!/usr/bin/env python +#!/usr/bin/env python ''' +Copyright (C) 2012 Juan Pablo Carbajal ajuanpi-dev@gmail.com Copyright (C) 2005 Aaron Spike, aaron@ekips.org This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or +the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -18,40 +19,63 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ''' import random, math, inkex, cubicsuperpath -def randomize((x, y), rx, ry, norm): - if norm: - r = abs(random.normalvariate(0.0,0.5*max(rx, ry))) - else: - r = random.uniform(0.0,max(rx, ry)) - a = random.uniform(0.0,2*math.pi) - x += math.cos(a)*rx - y += math.sin(a)*ry +def randomize((x, y), rx, ry, dist): + + if dist == "Gaussian": + r1 = random.gauss(0.0,rx) + r2 = random.gauss(0.0,ry) + elif dist == "Pareto": + ''' + sign is used ot fake a double sided pareto distribution. + for parameter value between 1 and 2 the distribution has infinite variance + I truncate the distribution to a high value and then normalize it. + The idea is to get spiky distributions, any distribution with long-tails is + good (ideal would be Levy distribution). + ''' + sign = random.uniform(-1.0,1.0) + + r1 = min(random.paretovariate(1.0), 20.0)/20.0 + r2 = min(random.paretovariate(1.0), 20.0)/20.0 + + r1 = rx * math.copysign(r1, sign) + r2 = ry * math.copysign(r2, sign) + elif dist == "Lognorm": + sign = random.uniform(-1.0,1.0) + r1 = rx * math.copysign(random.lognormvariate(0.0,1.0)/3.5,sign) + r2 = ry * math.copysign(random.lognormvariate(0.0,1.0)/3.5,sign) + elif dist == "Uniform": + r1 = random.uniform(-rx,rx) + r2 = random.uniform(-ry,ry) + + x += r1 + y += r2 + return [x, y] -class RadiusRandomize(inkex.Effect): +class JitterNodes(inkex.Effect): def __init__(self): inkex.Effect.__init__(self) self.OptionParser.add_option("--title") self.OptionParser.add_option("-x", "--radiusx", - action="store", type="float", + action="store", type="float", dest="radiusx", default=10.0, help="Randomly move nodes and handles within this radius, X") self.OptionParser.add_option("-y", "--radiusy", - action="store", type="float", + action="store", type="float", dest="radiusy", default=10.0, help="Randomly move nodes and handles within this radius, Y") self.OptionParser.add_option("-c", "--ctrl", - action="store", type="inkbool", + action="store", type="inkbool", dest="ctrl", default=True, help="Randomize control points") self.OptionParser.add_option("-e", "--end", - action="store", type="inkbool", + action="store", type="inkbool", dest="end", default=True, help="Randomize nodes") - self.OptionParser.add_option("-n", "--norm", - action="store", type="inkbool", - dest="norm", default=True, - help="Use normal distribution") + self.OptionParser.add_option("-d", "--dist", + action="store", type="string", + dest="dist", default="Uniform", + help="Choose the distribution of the displacements") self.OptionParser.add_option("--tab", action="store", type="string", dest="tab", @@ -65,20 +89,20 @@ class RadiusRandomize(inkex.Effect): for subpath in p: for csp in subpath: if self.options.end: - delta=randomize([0,0], self.options.radiusx, self.options.radiusy, self.options.norm) - csp[0][0]+=delta[0] - csp[0][1]+=delta[1] - csp[1][0]+=delta[0] - csp[1][1]+=delta[1] - csp[2][0]+=delta[0] - csp[2][1]+=delta[1] + delta=randomize([0,0], self.options.radiusx, self.options.radiusy, self.options.dist) + csp[0][0]+=delta[0] + csp[0][1]+=delta[1] + csp[1][0]+=delta[0] + csp[1][1]+=delta[1] + csp[2][0]+=delta[0] + csp[2][1]+=delta[1] if self.options.ctrl: - csp[0]=randomize(csp[0], self.options.radiusx, self.options.radiusy, self.options.norm) - csp[2]=randomize(csp[2], self.options.radiusx, self.options.radiusy, self.options.norm) + csp[0]=randomize(csp[0], self.options.radiusx, self.options.radiusy, self.options.dist) + csp[2]=randomize(csp[2], self.options.radiusx, self.options.radiusy, self.options.dist) node.set('d',cubicsuperpath.formatPath(p)) if __name__ == '__main__': - e = RadiusRandomize() + e = JitterNodes() e.affect() diff --git a/share/extensions/launch_webbrowser.py b/share/extensions/launch_webbrowser.py index 27a738e38..1ee6caca8 100755 --- a/share/extensions/launch_webbrowser.py +++ b/share/extensions/launch_webbrowser.py @@ -5,7 +5,6 @@ import threading from optparse import OptionParser # local library import inkex -inkex.localize() class VisitWebSiteWithoutLockingInkscape(threading.Thread): def __init__(self): diff --git a/share/extensions/markers_strokepaint.py b/share/extensions/markers_strokepaint.py index 76284b234..d922ef474 100755 --- a/share/extensions/markers_strokepaint.py +++ b/share/extensions/markers_strokepaint.py @@ -24,7 +24,6 @@ import copy import inkex import simplestyle -inkex.localize() class MyEffect(inkex.Effect): def __init__(self): diff --git a/share/extensions/measure.py b/share/extensions/measure.py index fe981e39e..2711727cf 100755 --- a/share/extensions/measure.py +++ b/share/extensions/measure.py @@ -41,7 +41,6 @@ import simpletransform import cubicsuperpath import bezmisc -inkex.localize() # On darwin, fall back to C in cases of # - incorrect locale IDs (see comments in bug #406662) diff --git a/share/extensions/pathalongpath.py b/share/extensions/pathalongpath.py index 93bb99d6b..8c3d42016 100755 --- a/share/extensions/pathalongpath.py +++ b/share/extensions/pathalongpath.py @@ -42,7 +42,6 @@ import bezmisc import pathmodifier import simpletransform -inkex.localize() def flipxy(path): for pathcomp in path: diff --git a/share/extensions/pathmodifier.py b/share/extensions/pathmodifier.py index d80b6eeae..bf45dd77a 100755 --- a/share/extensions/pathmodifier.py +++ b/share/extensions/pathmodifier.py @@ -39,8 +39,6 @@ import bezmisc import simplestyle from simpletransform import * -inkex.localize() - #################################################################### ##-- zOrder computation... ##-- this should be shipped out in a separate file. inkex.py? diff --git a/share/extensions/pathscatter.py b/share/extensions/pathscatter.py index 92af6ad76..361e8f8e1 100755 --- a/share/extensions/pathscatter.py +++ b/share/extensions/pathscatter.py @@ -44,8 +44,6 @@ import bezmisc import pathmodifier import simpletransform -inkex.localize() - def zSort(inNode,idList): sortedList=[] theid = inNode.get("id") diff --git a/share/extensions/perspective.py b/share/extensions/perspective.py index febe34a22..ea08b98dc 100755 --- a/share/extensions/perspective.py +++ b/share/extensions/perspective.py @@ -34,8 +34,6 @@ import cubicsuperpath import simpletransform from ffgeom import * -inkex.localize() - # third party try: from numpy import * diff --git a/share/extensions/plotter.py b/share/extensions/plotter.py index 1c4a683c1..14b41df18 100755 --- a/share/extensions/plotter.py +++ b/share/extensions/plotter.py @@ -27,7 +27,6 @@ import gettext import hpgl_decoder import hpgl_encoder import inkex -inkex.localize() class Plot(inkex.Effect): @@ -268,4 +267,4 @@ if __name__ == '__main__': e = Plot() e.affect() -# vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 fileencoding=utf-8 textwidth=99
\ No newline at end of file +# vim: expandtab shiftwidth=4 tabstop=8 softtabstop=4 fileencoding=utf-8 textwidth=99 diff --git a/share/extensions/polyhedron_3d.py b/share/extensions/polyhedron_3d.py index 7ce8b1c6d..86203d4bc 100755 --- a/share/extensions/polyhedron_3d.py +++ b/share/extensions/polyhedron_3d.py @@ -57,8 +57,6 @@ import inkex import simplestyle from simpletransform import computePointInNode -inkex.localize() - # third party try: from numpy import * diff --git a/share/extensions/print_win32_vector.py b/share/extensions/print_win32_vector.py index bf8e89845..7151a3f88 100755 --- a/share/extensions/print_win32_vector.py +++ b/share/extensions/print_win32_vector.py @@ -35,8 +35,6 @@ import simplestyle import simpletransform import cubicsuperpath -inkex.localize() - if not inkex.sys.platform.startswith('win'): exit(_("sorry, this will run only on Windows, exiting...")) diff --git a/share/extensions/render_alphabetsoup.py b/share/extensions/render_alphabetsoup.py index 06c82cb2d..4aa6af4c7 100755 --- a/share/extensions/render_alphabetsoup.py +++ b/share/extensions/render_alphabetsoup.py @@ -35,8 +35,6 @@ import bezmisc import simplepath import simpletransform -inkex.localize() - syntax = render_alphabetsoup_config.syntax alphabet = render_alphabetsoup_config.alphabet units = render_alphabetsoup_config.units diff --git a/share/extensions/render_barcode_datamatrix.py b/share/extensions/render_barcode_datamatrix.py index 82c827bb8..659e74de6 100755 --- a/share/extensions/render_barcode_datamatrix.py +++ b/share/extensions/render_barcode_datamatrix.py @@ -55,8 +55,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import inkex import simplestyle from simpletransform import computePointInNode - -inkex.localize() symbols = { 'sq10': (10, 10), diff --git a/share/extensions/render_barcode_qrcode.py b/share/extensions/render_barcode_qrcode.py index d4cffd3e2..062488ca1 100755 --- a/share/extensions/render_barcode_qrcode.py +++ b/share/extensions/render_barcode_qrcode.py @@ -4,8 +4,6 @@ import math, sys import inkex from simpletransform import computePointInNode -inkex.localize() - #QRCode for Python # #Ported from the Javascript library by Sam Curren diff --git a/share/extensions/replace_font.py b/share/extensions/replace_font.py index 090920ced..06d8a8661 100755 --- a/share/extensions/replace_font.py +++ b/share/extensions/replace_font.py @@ -34,8 +34,6 @@ import sys import inkex import simplestyle -inkex.localize() - text_tags = ['{http://www.w3.org/2000/svg}tspan', '{http://www.w3.org/2000/svg}text', '{http://www.w3.org/2000/svg}flowRoot', diff --git a/share/extensions/restack.py b/share/extensions/restack.py index 67d738a13..d38e18b52 100755 --- a/share/extensions/restack.py +++ b/share/extensions/restack.py @@ -24,7 +24,6 @@ THE SOFTWARE. import inkex, os, csv, math, random from pathmodifier import zSort -inkex.localize() try: from subprocess import Popen, PIPE diff --git a/share/extensions/summersnight.py b/share/extensions/summersnight.py index 7af4bb571..abc9327e5 100755 --- a/share/extensions/summersnight.py +++ b/share/extensions/summersnight.py @@ -26,8 +26,6 @@ import simplepath import simpletransform from ffgeom import * -inkex.localize() - try: from subprocess import Popen, PIPE bsubprocess = True diff --git a/share/extensions/svg_and_media_zip_output.py b/share/extensions/svg_and_media_zip_output.py index c5963b721..fb1ddd823 100755 --- a/share/extensions/svg_and_media_zip_output.py +++ b/share/extensions/svg_and_media_zip_output.py @@ -51,7 +51,7 @@ import inkex import simplestyle locale.setlocale(locale.LC_ALL, '') -inkex.localize() +inkex.localize() # TODO: test if it's still needed now that localize is called from inkex. class CompressedMediaOutput(inkex.Effect): def __init__(self): diff --git a/share/extensions/svgcalendar.py b/share/extensions/svgcalendar.py index 9f221a807..29dee262b 100755 --- a/share/extensions/svgcalendar.py +++ b/share/extensions/svgcalendar.py @@ -37,7 +37,6 @@ from datetime import * import inkex import simplestyle -inkex.localize() class SVGCalendar (inkex.Effect): diff --git a/share/extensions/test/radiusrand.test.py b/share/extensions/test/jitternodes.test.py index 99cb2972b..699752af2 100755 --- a/share/extensions/test/radiusrand.test.py +++ b/share/extensions/test/jitternodes.test.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# This is only the automatic generated test file for ../radiusrand.py +# This is only the automatic generated test file for ../jitternodes.py # This must be filled with real tests and this commentary # must be cleared. # If you want to help, read the python unittest documentation: @@ -10,15 +10,15 @@ import sys sys.path.append('..') # this line allows to import the extension code import unittest -from radiusrand import * +from jitternodes import * -class RadiusRandomizeBasicTest(unittest.TestCase): +class JitterNodesBasicTest(unittest.TestCase): #def setUp(self): def test_run_without_parameters(self): args = [ 'minimal-blank.svg' ] - e = RadiusRandomize() + e = JitterNodes() e.affect( args, False ) #self.assertEqual( e.something, 'some value', 'A commentary about that.' ) diff --git a/share/extensions/uniconv-ext.py b/share/extensions/uniconv-ext.py index f4c80b5d6..c84ee2e0a 100755 --- a/share/extensions/uniconv-ext.py +++ b/share/extensions/uniconv-ext.py @@ -26,8 +26,6 @@ import sys from run_command import run import inkex -inkex.localize() - cmd = None try: diff --git a/share/extensions/uniconv_output.py b/share/extensions/uniconv_output.py index 93236483d..7815137b6 100755 --- a/share/extensions/uniconv_output.py +++ b/share/extensions/uniconv_output.py @@ -34,7 +34,6 @@ import sys import tempfile # local library import inkex -inkex.localize() def run(command_format, prog_name, uniconv_format): outfile = tempfile.mktemp(uniconv_format) diff --git a/share/extensions/voronoi2svg.py b/share/extensions/voronoi2svg.py index d4740b7f5..5232fb81e 100644 --- a/share/extensions/voronoi2svg.py +++ b/share/extensions/voronoi2svg.py @@ -38,7 +38,6 @@ import simpletransform import voronoi import random -inkex.localize() class Point: def __init__(self,x,y): diff --git a/share/extensions/web-set-att.py b/share/extensions/web-set-att.py index 0dafcb974..40246e2c5 100755 --- a/share/extensions/web-set-att.py +++ b/share/extensions/web-set-att.py @@ -20,8 +20,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import inkwebeffect import inkex -inkex.localize() - class InkWebTransmitAtt(inkwebeffect.InkWebEffect): def __init__(self): diff --git a/share/extensions/web-transmit-att.py b/share/extensions/web-transmit-att.py index bae6956b2..34c97cff3 100755 --- a/share/extensions/web-transmit-att.py +++ b/share/extensions/web-transmit-att.py @@ -20,7 +20,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import inkwebeffect import inkex -inkex.localize() class InkWebTransmitAtt(inkwebeffect.InkWebEffect): diff --git a/share/extensions/webslicer_create_group.py b/share/extensions/webslicer_create_group.py index 47e5f706f..567c911aa 100755 --- a/share/extensions/webslicer_create_group.py +++ b/share/extensions/webslicer_create_group.py @@ -20,8 +20,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. from webslicer_effect import * import inkex -inkex.localize() - class WebSlicer_CreateGroup(WebSlicer_Effect): def __init__(self): diff --git a/share/extensions/webslicer_create_rect.py b/share/extensions/webslicer_create_rect.py index b68cd9ad8..865b74304 100755 --- a/share/extensions/webslicer_create_rect.py +++ b/share/extensions/webslicer_create_rect.py @@ -20,8 +20,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. from webslicer_effect import * import inkex -inkex.localize() - class WebSlicer_CreateRect(WebSlicer_Effect): def __init__(self): diff --git a/share/extensions/webslicer_export.py b/share/extensions/webslicer_export.py index 47db5369c..9acb9d6c3 100755 --- a/share/extensions/webslicer_export.py +++ b/share/extensions/webslicer_export.py @@ -24,8 +24,6 @@ import tempfile from webslicer_effect import * import inkex -inkex.localize() - class WebSlicer_Export(WebSlicer_Effect): diff --git a/share/extensions/wireframe_sphere.py b/share/extensions/wireframe_sphere.py index 64a1266b6..9a8d646e3 100755 --- a/share/extensions/wireframe_sphere.py +++ b/share/extensions/wireframe_sphere.py @@ -61,7 +61,6 @@ import inkex import simplestyle from simpletransform import computePointInNode -inkex.localize() #SVG OUTPUT FUNCTIONS ================================================ def draw_SVG_ellipse((rx, ry), (cx, cy), width, parent, start_end=(0,2*pi),transform='' ): diff --git a/src/display/nr-filter.cpp b/src/display/nr-filter.cpp index 8591be7eb..789758d9c 100644 --- a/src/display/nr-filter.cpp +++ b/src/display/nr-filter.cpp @@ -108,7 +108,9 @@ int Filter::render(Inkscape::DrawingItem const *item, DrawingContext &graphic, D graphic.setOperator(CAIRO_OPERATOR_OVER); return 1; } - + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + item->drawing().setFilterQuality(prefs->getInt("/options/filterquality/value", 0)); + item->drawing().setBlurQuality(prefs->getInt("/options/blurquality/value", 0)); FilterQuality const filterquality = (FilterQuality)item->drawing().filterQuality(); int const blurquality = item->drawing().blurQuality(); diff --git a/src/inkscape-x64.rc b/src/inkscape-x64.rc index 7f4d5b9ae..2f4710a36 100644 --- a/src/inkscape-x64.rc +++ b/src/inkscape-x64.rc @@ -3,8 +3,8 @@ APPLICATION_ICON ICON DISCARDABLE "../inkscape.ico" 1 24 DISCARDABLE "./inkscape-manifest-x64.xml" 1 VERSIONINFO - FILEVERSION 0,91,0,9 - PRODUCTVERSION 0,91,0,9 + FILEVERSION 0,92,0,0 + PRODUCTVERSION 0,92,0,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -13,11 +13,11 @@ BEGIN VALUE "Comments", "Published under the GNU GPL" VALUE "CompanyName", "inkscape.org" VALUE "FileDescription", "Inkscape" - VALUE "FileVersion", "0.91+devel" + VALUE "FileVersion", "0.92pre1" VALUE "InternalName", "Inkscape" VALUE "LegalCopyright", " 2014 Inkscape" VALUE "ProductName", "Inkscape" - VALUE "ProductVersion", "0.91+devel" + VALUE "ProductVersion", "0.92pre1" END END BLOCK "VarFileInfo" diff --git a/src/inkscape.rc b/src/inkscape.rc index 92d38f60e..087c5862d 100644 --- a/src/inkscape.rc +++ b/src/inkscape.rc @@ -3,8 +3,8 @@ APPLICATION_ICON ICON DISCARDABLE "../inkscape.ico" 1 24 DISCARDABLE "./inkscape-manifest.xml" 1 VERSIONINFO - FILEVERSION 0,91,0,9 - PRODUCTVERSION 0,91,0,9 + FILEVERSION 0,92,0,0 + PRODUCTVERSION 0,92,0,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -13,11 +13,11 @@ BEGIN VALUE "Comments", "Published under the GNU GPL" VALUE "CompanyName", "inkscape.org" VALUE "FileDescription", "Inkscape" - VALUE "FileVersion", "0.91+devel" + VALUE "FileVersion", "0.92pre1" VALUE "InternalName", "Inkscape" VALUE "LegalCopyright", " 2014 Inkscape" VALUE "ProductName", "Inkscape" - VALUE "ProductVersion", "0.91+devel" + VALUE "ProductVersion", "0.92pre1" END END BLOCK "VarFileInfo" diff --git a/src/inkview-x64.rc b/src/inkview-x64.rc index 1b7287993..465de4af1 100644 --- a/src/inkview-x64.rc +++ b/src/inkview-x64.rc @@ -3,8 +3,8 @@ APPLICATION_ICON ICON DISCARDABLE "../inkscape.ico" 1 24 DISCARDABLE "./inkview-manifest-x64.xml" 1 VERSIONINFO - FILEVERSION 0,91,0,9 - PRODUCTVERSION 0,91,0,9 + FILEVERSION 0,92,0,0 + PRODUCTVERSION 0,92,0,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -13,11 +13,11 @@ BEGIN VALUE "Comments", "Published under the GNU GPL" VALUE "CompanyName", "inkscape.org" VALUE "FileDescription", "Inkview" - VALUE "FileVersion", "0.91+devel" + VALUE "FileVersion", "0.92pre1" VALUE "InternalName", "Inkview" VALUE "LegalCopyright", " 2014 Inkscape" VALUE "ProductName", "Inkview" - VALUE "ProductVersion", "0.91+devel" + VALUE "ProductVersion", "0.92pre1" END END BLOCK "VarFileInfo" diff --git a/src/inkview.rc b/src/inkview.rc index 326b0873a..34632bd14 100644 --- a/src/inkview.rc +++ b/src/inkview.rc @@ -3,8 +3,8 @@ APPLICATION_ICON ICON DISCARDABLE "../inkscape.ico" 1 24 DISCARDABLE "./inkview-manifest.xml" 1 VERSIONINFO - FILEVERSION 0,91,0,9 - PRODUCTVERSION 0,91,0,9 + FILEVERSION 0,92,0,0 + PRODUCTVERSION 0,92,0,0 BEGIN BLOCK "StringFileInfo" BEGIN @@ -13,11 +13,11 @@ BEGIN VALUE "Comments", "Published under the GNU GPL" VALUE "CompanyName", "inkscape.org" VALUE "FileDescription", "Inkview" - VALUE "FileVersion", "0.91+devel" + VALUE "FileVersion", "0.92pre1" VALUE "InternalName", "Inkview" VALUE "LegalCopyright", " 2014 Inkscape" VALUE "ProductName", "Inkview" - VALUE "ProductVersion", "0.91+devel" + VALUE "ProductVersion", "0.92pre1" END END BLOCK "VarFileInfo" diff --git a/src/preferences-skeleton.h b/src/preferences-skeleton.h index 9f2e68b1d..5ccc4d729 100644 --- a/src/preferences-skeleton.h +++ b/src/preferences-skeleton.h @@ -91,11 +91,11 @@ static char const preferences_skeleton[] = " <eventcontext id=\"spiral\" style=\"fill:none;\" usecurrent=\"0\"/>\n" " </group>\n" " <group id=\"freehand\"\n" -" style=\"fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-linejoin:miter;stroke-linecap:butt;\">\n" +" style=\"fill:none;stroke:black;stroke-opacity:1;stroke-linejoin:miter;stroke-linecap:butt;\">\n" " <eventcontext id=\"pencil\" tolerance=\"4.0\" selcue=\"1\" style=\"stroke-width:1px;\" usecurrent=\"0\" average_all_sketches=\"1\"/>\n" " <eventcontext id=\"pen\" mode=\"drag\" selcue=\"1\" style=\"stroke-width:1px;\" usecurrent=\"0\"/>\n" " </group>\n" -" <eventcontext id=\"calligraphic\" style=\"fill:black;fill-opacity:1;stroke:none;\"\n" +" <eventcontext id=\"calligraphic\" style=\"fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;\"\n" " mass=\"2\" angle=\"30\" width=\"15\" thinning=\"10\" flatness=\"90\" cap_rounding=\"0.0\" usecurrent=\"1\"\n" " tracebackground=\"0\" usepressure=\"1\" usetilt=\"0\" keep_selected=\"1\">\n" " <group id=\"preset\">\n" |
