[GSoC] QuarkXPress import, project results

2017-08-29 Thread Alex P
libqxp currently can import documents and templates created by QuarkXPress
3.1-4.1 for Windows and Mac.
Import of text and shapes is almost complete, but it lacks pictures because
reverse engineering of other parts of the format took more time than
expected and picture format seems to be quite complicated too.

Supported features:

- Pages, facing pages.
- Boxes (rectangles, ovals, Bezier).
- Lines, Bezier curves.
- Text paths.
- Object groups.
- Rotation.
- Text, including linked text boxes/paths.
- Font, size, alignment, paragraph rules, leading, H&J, tabs,
bold/italic/underline/outline/shadow/strike/subscript/superscript/caps.
- Colors (including shades), gradients (only linear, radial, rectangular).
- Line/frame color, width, line caps and corners, arrows, dashes.

Missing features:

- Pictures.
- Non-English texts. Need sample docs to determine language values and
encodings.
- Columns. Not supported in librevenge (drawing interface)/LO Draw.
- Non-rectangular box corners.
- Custom text area shapes (for ovals, Bezier text paths, ...). Not
supported in librevenge/ODF.
- Complex dash patterns (more than 2 different dashes) and stripes. Not
supported in librevenge/ODF.
- Paragraph leading is not perfect in some cases because ODF fo:line-height
works a bit differently.
- Paragraph rule margins. Not supported in librevenge/ODF.
- Custom kerning, tracking, hyphenation exception. Not supported in
librevenge/ODF.
- Auxiliary dictionary. Not supported in librevenge/ODF.
- Some advanced H&J and formatting properties that are not supported (or
partially supported) by ODF or LO Draw.
- Mid-linear, diamond gradients. Not supported in librevenge/ODF.
- Skewing.

Code (my contributions):

libqxp
https://gerrit.libreoffice.org/gitweb?p=libqxp.git&a=search&h=HEAD&st=author&s=alex

libqxp-test
https://gerrit.libreoffice.org/gitweb?p=libqxp-test.git&a=search&h=HEAD&st=author&s=alex

libqxp integration to LibreOffice
https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=e59b5b1fc7266d56a17e387b8df0f6d6956e8ea5

OleToy, reverse engineering of qxp3.3-4.0
https://github.com/renyxa/re-lab/commits/master?author=alex.pan...@gmail.com
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] QuarkXPress import, Week 12

2017-08-28 Thread Alex P
During the final GSoC week I implement parsing and output of paragraph
rules (using fo:border-top/bottom, which seem to be not supported in LO
Draw) and handling of document charsets (only for English because we don't
have sample docs in other languages and don't know their identifiers and
charsets).

Also the first version of libqxp was finally released and integrated into
LibreOffice.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] QuarkXPress import, Week 11

2017-08-21 Thread Alex P
During this week I was less active because I am away from home, but still I
tried to do as much as I could: added test documents to libqxp-test
covering all currently supported features in 3.3-4.0 Win/Mac and
implemented parsing and output of paragraph/document leading (as line
height).

Also when preparing the test documents I discovered some missing format
details about documents with text loaded from files, and implemented it, so
libqxp now can handle such documents.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] QuarkXPress import, Week 10

2017-08-11 Thread Alex P
During this week I finished parsing of QXP 4.0 objects and implemented
output for new objects that were missing in 3.3: text paths, Bezier curves,
Bezier boxes.

Also I implemented parsing and output of arrows, dashes (except stripes and
bitmap frames), tabs, runaround (as far as it's supported in ODF: without
custom padding) in 3.3 and 4.0.

Tabs currently don't seem to work, could be a bug in libodf (they are
missing in odg output). Also runaround doesn't work in LO Draw, but it's
probably because it's not implemented there.

http://i.imgur.com/z83ezHK.png
http://i.imgur.com/rrX27EQ.png
http://i.imgur.com/r5FmqdV.png
http://i.imgur.com/Ji7V7EP.png
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] QuarkXPress import, Week 9

2017-08-03 Thread Alex P
During this week I finished parsing of QXP 3.3 objects, implemented output
of lines, ovals, groups, textboxes (including linked texts), polygons, and
started implementation of 4.0 objects parsing.

Boxes are currently missing non-rectangular corners and text output in
oval/polygon boxes may not be perfect because they still have rectangular
text areas (as far as we know currently there is no way to output
non-rectangular text objects).

http://i.imgur.com/4UtI882.png
http://i.imgur.com/pEANybb.png
http://i.imgur.com/8Fdbap0.png
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] QuarkXPress import, Week 8

2017-07-27 Thread Alex P
During this work I implemented parsing of text and 3.3 lines, boxes,
groups, and finally started to produce output, currently only empty boxes
(color, gradient, frame, rotation).

Result example: http://i.imgur.com/jOkiJau.png
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] QuarkXPress import, Week 7

2017-07-19 Thread Alex P
During this week I worked on libqxp and implemented parsing of most of the
important records (character/paragraph format, tab stops, ...) and started
to parse pages, implemented deobfuscation for both formats (3.3, 4.0).

Also during the work some small issues with current format "specification"
were found and fixed in OLEToy. The most interesting one was that
apparently some bit flags in Big Endian (Mac) documents are saved in
reverse order.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] QuarkXPress import, Week 6

2017-07-12 Thread Alex P
During this week I implemented parsing of the main file structure (blocks,
chains, records) and parsing of fonts, colors in libqxp.

Also we did some reverse engineering of documents produced by QuarkXPress
3.3-4.0 for Mac (before that we only used Windows versions). They are
mostly the same, the main difference so far is endianness (we already knew
about that and handled it, but sizes of some values were wrong) and
different format of strings (which is quite unusual).
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] QuarkXPress import, Week 5

2017-07-06 Thread Alex P
During this week we finished reverse engineering of QXP4 colors and
partially parsed bezier data.

Current knowledge of QuarkXPress 3.3-4 formats seems to be complete enough,
so we started import library (libqxp) implementation. Right now it can
parse headers of these format and detect version.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] QuarkXPress import, Week 4

2017-06-28 Thread Alex P
Reverse engineering progress:
- Finally finished deobfuscation of QXP 4 objects and pages.
- Refactored object parsing and improved size identification in QXP 4.
- Dashes and stripes.
- Text path properties.
- Identified OLE picture boxes.

Looks like reverse engineering of QuarkXPress 3-4 formats is almost
completed, the only important pieces left are picture bitmap data and QXP 4
bezier data, colors. The last one seems to be much more complicated than in
3.3, but hopefully we will finish it soon.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] QuarkXPress import, Week 3

2017-06-21 Thread Alex P
During this week we continued reverse engineering of QuarkXPress 3-4 format
and had some substantial progress:
- Completed object type identification (shape type, content type).
- Refactored object parsing and improved size identification (QXP does not
store sizes/offsets for object records), which should cover most cases now.
Currently only for QXP 3.3, but it should not be difficult to implement in
QXP 4, it's very similar.
- Finished parsing of paragraph styles, rules, tabs.
- Refactored and improved parsing of document structure, block chains. This
should be the ultimate version of it: we may identify new records and
details, but there probably will not be any major changes in document
parsing.
- Identified some object properties: color shade, line/frame style, gap
color, text inset, vertical alignment, baseline offset, ... Looks like we
identified most of the object properties except some more advanced such as
picture cropping.
- Parsing of QXP 4 object properties (they are mostly the same, sometimes
different order or size).
- Linked text boxes.
- Object groups.
- Some progress with QXP 4 deobfuscation, but there are still major issues.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] QuarkXPress import, Week 2

2017-06-14 Thread Alex P
During this week we had some progress with reverse engineering:
- Finished parsing of page settings and master pages.
- Improved parsing of all dimensions/lengths (figured out the value format
more accurately).
- Colors, gradients in QXP 3.
- Initial parsing of QXP 3 objects.
- Objects properties (position, line width, color, rotation, corner radius,
...).

There are still some major issues with object parsing (QXP does not store
sizes/offsets for object records and it is difficult to figure out their
sizes because they may differ depending on content, style), so we are
trying to improve it now.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] QuarkXPress import, Week 1

2017-06-07 Thread Alex P
During the first week I was busy finishing my bachelor work, so I did not
have much time and only contributed some reverse engineering of page
parameters (size, margins, columns).

Starting with this week I will be able to work more actively.

At the current stage of the project we are trying to finish reverse
engineering of the main parts of the document structure (pages, objects),
such as how to retrieve them, objects sizes/positions, types. It is not
easy because some of the values are obfuscated using different methods and
currently we know how to deobfuscate only some of them.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


GSoC 2017 introduction: QuarkXPress import filter implementation

2017-05-13 Thread Alex P
Hello,

I am a Computer science/Informatics student from Lithuania, currently
finishing my bachelor degree.

I have been selected to work on a GSoC project: reverse engineering and
import filter implementation for QuarkXPress. It is a desktop publishing
application that was very popular in the 90s and early 2000.
https://summerofcode.withgoogle.com/projects/#5806898726043648

During GSoC 2016 I implemented Zoner Draw 4-5 import.
https://summerofcode.withgoogle.com/archive/2016/projects/4529893417156608/

My IRC nick is AlexP11223
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice-commits] core.git: sc/source

2017-03-03 Thread Alex P
 sc/source/ui/unoobj/celllistsource.cxx   |   13 +-
 sc/source/ui/unoobj/cellvaluebinding.cxx |   13 +-
 sc/source/ui/unoobj/dapiuno.cxx  |  140 +++
 3 files changed, 82 insertions(+), 84 deletions(-)

New commits:
commit 7e8806cd728bf906e1a8f1d649bef7337f297b1c
Author: Alex P 
Date:   Wed Mar 1 20:20:44 2017 +0200

tdf#42982 improve error reporting in sc unoobj

Change-Id: I35a4142f4f1bdaa4ebb5c5c0f1d4e7201301ee8d
Reviewed-on: https://gerrit.libreoffice.org/34762
Tested-by: Jenkins 
Reviewed-by: Michael Stahl 

diff --git a/sc/source/ui/unoobj/celllistsource.cxx 
b/sc/source/ui/unoobj/celllistsource.cxx
index c78b862..c4c9ebf 100644
--- a/sc/source/ui/unoobj/celllistsource.cxx
+++ b/sc/source/ui/unoobj/celllistsource.cxx
@@ -20,6 +20,7 @@
 #include "celllistsource.hxx"
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -130,8 +131,7 @@ namespace calc
 void OCellListSource::checkInitialized()
 {
 if ( !m_bInitialized )
-throw RuntimeException();
-// TODO: error message
+throw NotInitializedException("CellListSource is not initialized", 
static_cast(this));
 }
 
 OUString SAL_CALL OCellListSource::getImplementationName(  )
@@ -345,8 +345,7 @@ namespace calc
 void SAL_CALL OCellListSource::initialize( const Sequence< Any >& 
_rArguments )
 {
 if ( m_bInitialized )
-throw Exception();
-// TODO: error message
+throw RuntimeException("CellListSource is already initialized", 
static_cast(this));
 
 // get the cell address
 CellRangeAddress aRangeAddress;
@@ -368,8 +367,7 @@ namespace calc
 }
 
 if ( !bFoundAddress )
-// TODO: error message
-throw Exception();
+throw RuntimeException("Cell not found", 
static_cast(this));
 
 // determine the range we're bound to
 try
@@ -403,8 +401,7 @@ namespace calc
 }
 
 if ( !m_xRange.is() )
-throw Exception();
-// TODO error message
+throw RuntimeException("Failed to retrieve cell range", 
static_cast(this));
 
 Reference xBroadcaster( m_xRange, UNO_QUERY );
 if ( xBroadcaster.is() )
diff --git a/sc/source/ui/unoobj/cellvaluebinding.cxx 
b/sc/source/ui/unoobj/cellvaluebinding.cxx
index 3c90c6f..bd82c15 100644
--- a/sc/source/ui/unoobj/cellvaluebinding.cxx
+++ b/sc/source/ui/unoobj/cellvaluebinding.cxx
@@ -21,6 +21,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -395,8 +396,7 @@ namespace calc
 void OCellValueBinding::checkInitialized()
 {
 if ( !m_bInitialized )
-throw RuntimeException();
-// TODO: error message
+throw NotInitializedException("CellValueBinding is not 
initialized", static_cast(this));
 }
 
 void OCellValueBinding::checkValueType( const Type& _rType ) const
@@ -488,8 +488,7 @@ namespace calc
 void SAL_CALL OCellValueBinding::initialize( const Sequence< Any >& 
_rArguments )
 {
 if ( m_bInitialized )
-throw Exception();
-// TODO: error message
+throw RuntimeException("CellValueBinding is already initialized", 
static_cast(this));
 
 // get the cell address
 CellAddress aAddress;
@@ -511,8 +510,7 @@ namespace calc
 }
 
 if ( !bFoundAddress )
-// TODO: error message
-throw Exception();
+throw RuntimeException("Cell not found", 
static_cast(this));
 
 // get the cell object
 try
@@ -544,8 +542,7 @@ namespace calc
 }
 
 if ( !m_xCell.is() )
-throw Exception();
-// TODO error message
+throw RuntimeException("Failed to retrieve cell object", 
static_cast(this));
 
 m_xCellText.set(m_xCell, css::uno::UNO_QUERY);
 
diff --git a/sc/source/ui/unoobj/dapiuno.cxx b/sc/source/ui/unoobj/dapiuno.cxx
index 9ca7c90..3ca0d80 100644
--- a/sc/source/ui/unoobj/dapiuno.cxx
+++ b/sc/source/ui/unoobj/dapiuno.cxx
@@ -42,6 +42,8 @@
 #include "globstr.hrc"
 
 #include 
+#include 
+#include 
 #include 
 #include 
 #include 
@@ -84,6 +86,7 @@ using ::com::sun::star::beans::XVetoableChangeListener;
 
 using ::com::sun::star::lang::IllegalArgumentException;
 using ::com::sun::star::lang::IndexOutOfBoundsException;
+using ::com::sun::star::lang::NullPointerException;
 using ::com::sun::star::lang::WrappedTargetException;
 
 using ::com::sun::star::table::CellAddress;
@@ -402,37 +405,35 @@ void SAL_CALL ScDataPilotTablesObj::insertNewByName( 
const OUString& aNewName,
 SolarMutexGuard aGuard;
 if (!xDescriptor.is()) return;
 
-// inserting with already existing name?
 if ( !aNewName.isEmpty() && hasByName( aNewNa

[GSoC] Zoner Draw import, project results

2016-08-17 Thread Alex P
libzmf currently supports importing of Zoner Draw 4-5 documents and BMI
images (bitmap format used in Zoner Draw).

Supported features:
- layers, pages
- curves (lines, bezier curves, curve combinations)
- rectangles
- ellipses
- arcs
- polygons, stars
- barcodes
- object groups and combinations
- rotation, mirroring
- text. Font, size, alignment, bold/italic, line spacing.
- tables
- images
- fill: color, gradient (only linear and radial), image
- pen: color, width, line caps and corners, arrows, dashes
- transparency
- shadows

Missing features:
- Arc mirroring and rotation not fully implemented.
- Blend. Decided to skip this for now to finish more important features.
- Rectangle round corners.
- Table cell text vertical alignment. Not reverse engineered yet.
- There are some issues with table cell borders. Possibly a bug in
LibreOffice or ODF generator.
- Advanced text features such as outline fill color, custom baseline curve
and mirroring. Not supported in librevenge/ODF.
- Image fit and crop placement. Not supported in librevenge/ODF for images
but probably can be implement using image fill.
- Pen calligraphy properties: stretch, angle. Not supported in
librevenge/ODF.
- Complex dash patterns (more than 2 different dashes). Not supported in
librevenge/ODF.
- Arrow position is wrong for half of the arrows. Possibly a bug in
LibreOffice or ODF generator.
- Conical, rectangular, cross-shaped gradients. Not supported in
librevenge/ODF.
- Shadow blur. Not supported in librevenge/ODF.
- Skewing/deforming ("Perspective"). Too difficult to implement.

Code:

libzmf
https://gerrit.libreoffice.org/gitweb?p=libzmf.git&a=search&h=HEAD&st=author&s=alex

libzmf-test
https://gerrit.libreoffice.org/gitweb?p=libzmf-test.git&a=search&h=HEAD&st=author&s=alex

libzmf integration to LibreOffice
https://gerrit.libreoffice.org/gitweb?p=core.git;a=commit;h=aaed6fe55a67ee3e92bedf9eed2e2f7c044be19d

OleToy, reverse engineering of zmf4
https://github.com/renyxa/re-lab/commits/master?author=alex.pan...@gmail.com
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] Zoner Draw import, Week 12 report

2016-08-17 Thread Alex P
During the last GSoC week we improved rotation and mirroring of
polygons/stars and images, now it should work correctly. Arc mirroring is
still not working because it is much more difficult to implement.

http://i.imgur.com/RWM3VMk.png
http://i.imgur.com/YUONVUK.png

Also I added some input checks to fix possible crashes in libzmf and added
more test files to libzmf-test.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] Zoner Draw import, Week 11 report

2016-08-10 Thread Alex P
I improved image fill tiling in libzmf, now it works correctly.
http://i.imgur.com/fvhGGdz.png

Also we probably figured out how to fix incorrect orientation and rotation
of some shapes drawn via Zoner Draw "from corner" or "from center" modes,
but not implemented it.

I used American Fuzzy Lop fuzzer to find and fix some possible crashes (not
all yet). Also added test files to libzmf-test for regression testing.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] Zoner Draw import, Week 10 report

2016-08-02 Thread Alex P
During this week I implemented parsing and output of images with lower
color depth (1, 4, 8 bit) and transparency in libzmf.

For transparency we had to switch to PNG (libpng) output instead of BMP
because Libre Office does not handle them well and transparency does not
work for BMP (v.4-5 header), as well as some other issues such as reading
color bit masks from wrong offset.

Also output of polygons/stars was fixed and now it works correctly in most
cases, except the shape direction when drawing using Zoner Draw "from
corner" or "from center" modes, it depends on drawing (mouse movement)
direction and is not handled yet.

http://i.imgur.com/bvka3Qj.png
http://i.imgur.com/HZ3FxG1.png
http://i.imgur.com/eb9uKpe.png
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] Zoner Draw import, Week 9 report

2016-07-27 Thread Alex P
I implemented parsing and output of arrows/markers in libzmf. It works fine
for some arrows, but for others it results in wrong arrow position in LO. I
tried some workarounds, but did not manage to fix that yet. Raw output
seems correct, so maybe it is a bug in LO. Also arrows with not closed
path, such as the one in the top right corner of the screenshot, become
closed.

http://i.imgur.com/kK4cZ0C.png

My mentor finished reverse engineering of BMI (Zoner bitmap) format and I
improved BMI parsing in libzmf, currently I am working on images with other
color depths (1, 4, 8 bit) and transparency.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] Zoner Draw import, Week 8 report

2016-07-19 Thread Alex P
I implemented parsing of Zoner bitmap format - BMI (only 24 bit so far),
and bitmap fill, images from ZMF.

Bitmap fill can be tiled, but custom tile size is not supported, because as
far as I know it is not available in ODF/librevenge. The same for fit and
crop image placements.
Also shadow and transparency currently do not work for images, even though
looks like LO supports at least shadows. Maybe it is simply not implemented
in ODF generator.

http://i.imgur.com/j5MeDqT.png fill
http://i.imgur.com/pHGGEUo.png images

BMI is a separate format (Zoner Draw can export and import it), so libzmf
also supports parsing and output (as a document with an image) of separate
BMI files.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] Zoner Draw import, Week 7 report

2016-07-13 Thread Alex P
I implemented dashed pen styles and text alignment, rotation (except some
cases that are probably not supported by librevenge/LO such as starting
text from different corners and custom baseline) in libzmf.

http://i.imgur.com/cXiQW91.png
http://i.imgur.com/JNbJEX4.png

Also I fixed some issues with object sizes and positions, now they should
be always correct (ZMF stores bounding box coordinates and width, height
for most of the objects, but width and height sometimes are not correct,
such as they are not updated after resizing objects, so now I use only
bounding box coordinates to determine size).

I started implementing star/polygon shapes but did not finish it yet.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] Zoner Draw import, Week 6 report

2016-07-05 Thread Alex P
I started implementing tables and text in libzmf.

Currently it can output simple text (except some features such as alignment
and features that are probably not supported by librevenge/ODF like custom
baseline curve).

Tables currently have only background cell colors and text. I tried to
implement cell borders, but it does not work, not sure why, they are not
drawn in LO even though border values in libzmf output seem correct. Also
something is wrong with cell sizes. I heard that table implementation in LO
Draw is far from perfect, so maybe it is the reason...

http://i.imgur.com/3UHQHTQ.png
http://i.imgur.com/xRvNl87.png
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] Zoner Draw import, Week 5 report

2016-06-27 Thread Alex P
During this week I implemented line caps, joins and ellipse rotation in
libzmf, also some small fixes such as removing empty first page (used for
default guidelines in Zoner Draw) from output.

http://i.imgur.com/2kvNHJX.png (pointed line caps are not supported in
librevenge/ODF)
http://i.imgur.com/C91n2Q0.png

The first version of libzmf was integrated into LibreOffice
https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=aaed6fe55a67ee3e92bedf9eed2e2f7c044be19d

Since Friday I was away for 3 days, so this week was a bit less productive
than the previous ones.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] Zoner Draw import, Week 4 report

2016-06-20 Thread Alex P
During this week I implemented transparency, shadows, groups and (after
curves format was fully reverse engineered with help of my mentor)
combinations of shapes in libzmf.

http://i.imgur.com/BCMkFUl.png
http://i.imgur.com/aCamfTZ.png
http://i.imgur.com/ZIbyibD.png

Also during the second half of this week my mentor and I did a lot of
reverse engineering (curves, text, tables, polygons, pen advanced
styles/arrows, internal bitmap format, layer and document settings, ...),
so I think all or almost all important parts of ZMF4-5 format are currently
known, mostly the implementation left.
https://github.com/renyxa/re-lab/commits/master
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] Zoner Draw import, Week 3 report

2016-06-13 Thread Alex P
During this week I implemented pen color, width and fill with color and
gradient in libzmf. Only linear and radial gradients are implemented
because other gradients available in Zoner Draw (conical, rectangular,
cross-shaped) are not supported by librevenge.

http://i.imgur.com/q0y6yvY.png
http://i.imgur.com/7Usv3tR.png

Also I did some reverse engineering and submitted information about color
palettes (looks like they are used only for UI and can be ignored in
libzmf) and page color to OLEToy.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] Zoner Draw import, Week 2 report

2016-06-06 Thread Alex P
During the second week I implemented parsing and output of ellipses and
arcs (except rotation) in libzmf.
http://i.imgur.com/iVeZ9hj.pnghttp://i.imgur.com/DUazEdi.png
Also I continued reverse engineering and submitted some information about
colors, pen, fill, transparency, shadow styles, text to OLE Toy.
https://github.com/renyxa/re-lab/commits/master?author=AlexP11223
Next I am planing to implement pen and fill colors/styles in libzmf.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[GSoC] Zoner Draw import, Week 1 report

2016-05-30 Thread Alex P
During the first week I implemented parsing and output of lines, rectangles
(except round corners) and Bezier curves. Only geometries, without colors.

Result example: http://i.imgur.com/h3tXPy9.png

Also submitted 2 patches to OLEToy revealing information about rectangles
corner types/rounding and polyline types (line, Bezier curve).
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


Interested in contributing to LibreOffice GSOC 2016

2016-03-08 Thread Alex P
Hello,

I am a third year Informatics/Computer Science student looking forward to
contribute to Libre Office during GSoC. I have experience in desktop
(Windows, Linux) and web development. C, C++, Java, .NET, PHP, Python, JS,
...

I live in Europe, UTC+2.
My native language is Russian, but I think there should not be any problems
with communicating in English.

I do not have much code to show but here is my github profile with some
projects https://github.com/AlexP11223?tab=repositories
Also during GCI 2011 I was working on setmime
http://cgit.haiku-os.org/haiku/tree/src/bin/setmime.cpp and writembr
http://cgit.haiku-os.org/haiku/commit/?id=1a7322a09e825d2445ca88a47cd1d5cd06d3811b
tools in Haiku OS.

So far I submited patches/working on these EasyHack bugs:
https://bugs.documentfoundation.org/show_bug.cgi?id=65219
https://bugs.documentfoundation.org/show_bug.cgi?id=98264
https://bugs.documentfoundation.org/show_bug.cgi?id=93548
https://bugs.documentfoundation.org/show_bug.cgi?id=96505

https://gerrit.libreoffice.org/#/q/owner:%22alex.pan...@gmail.com%22

I understand that these are small and easy bugs, but I just started working
with LibreOffice code a week ago, so I think it is a good starting point
for learning this project.

I looked at the GSoC ideas, I am interested in "Refactor god objects" or
"Implement Zoner Draw import filter" (I was also thinking about "More and
better tests" but as I know someone already wants to take it). I would like
to get some suggestions about how should I start working on it.

My IRC nick is AlexP11223
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


Aleksas Pantechovskis AlexP11223 license statement

2016-03-03 Thread Alex P
All of my past & future contributions to LibreOffice may be licensed under
the MPLv2/LGPLv3+ dual license.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice