You can subscribe to this list here.
2004 |
Jan
(13) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(14) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
(8) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(3) |
Nov
(2) |
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(10) |
Jun
(13) |
Jul
(9) |
Aug
(3) |
Sep
(1) |
Oct
(7) |
Nov
|
Dec
(2) |
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(5) |
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(1) |
2014 |
Jan
(2) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: Robert S. A. <ro...@st...> - 2006-06-06 16:39:13
|
Thanks, Its a lot cleared now. I misunderstood how the wpg was set up. Fridrich Strba wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi, Robert, > > Robert Steinmetz wrote: > >> You mention WPG1 and WPG2. I'm not clear on the meaning of these >> designations. Are they flavors or sequential versions? >> > > Although my limited English is not understanding the difference between > flavours and sequential versions, I might have the information that you > ask for in this one :-) It was a clumsy attempt to explain that there might be two types of wpg files (vector and raster) as well as old and new version of wpg files. You have clarified quite well that there is only one type (flavor) and that WPG2 is the successor to WPG1. Thanks -- Robert Steinmetz, AIA Principal Steinmetz & Associates |
From: Fridrich S. <fri...@bl...> - 2006-06-06 07:11:43
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Robert, Robert Steinmetz wrote: > You mention WPG1 and WPG2. I'm not clear on the meaning of these > designations. Are they flavors or sequential versions? Although my limited English is not understanding the difference between flavours and sequential versions, I might have the information that you ask for in this one :-) WPG1 is the WordPerfect Graphics file format version one as used in documents produced by WordPerfect 5.x (or other Corel applications). WPG2 is the WordPerfect Graphics file format version two that is used in documents produced by WordPerfect 6.0 and subsequent versions. Although the two can have some common logic (the apple is never falling too far from the apple tree), they have such difference that a parser parsing one format cannot parse the other. The record structure is slightly different, but the most important, the way records are chained is quite novel in WPG2. I hope this answers this part of the question > I have understood that wpg files, in every version, come in two flavors, > raster and vector. If that is the case, is it the intent of this project > to develop a converter for both? Both WPG1 and WPG2 files *can* contain in the same time vector graphics, bitmap data and embedded graphics of other mime-types. In WPG1, there are two sorts of bitmap records. Although, it is possible that some documents will contain only one type of data, it is not the rule and a parser designed to read WPG cannot assume this. > I had understood that the initial effort was directed first at the > raster flavor. That clearly has implications for the type output of the > filter can create. Raster and vector files are very different and most > file formats are either one or the other. The work done before Ariya started his SoC project was mainly to convert the vector graphics information inside WPG1 files, since it was kind of easier. Libwpg CVS has a tool called wpg2svg that allows to visualize the result of this conversion in applications that support SVG. Although, SVG is primary designed to contain vector graphics, it can embed also bitmap graphics, as can be seen in this proof-of-concept document: http://hei.unige.ch/~strba5/mmeeks/fridrich-base64.svg :-) I see now that Ariya also answered your questions. But I will hit the "Send" button anyway ;-) Cheers Fridrich -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFEhSqYu9a1imXPdA8RAr2rAKCGa/rs5YN23rG2xEYJxVS4xgQ2KgCdFd2w cqIfwXlxbsSYhLZ5FUUi8E8= =6OMm -----END PGP SIGNATURE----- |
From: Ariya H. <ar...@kd...> - 2006-06-06 01:45:45
|
---------- Forwarded message ---------- From: Ariya Hidayat <ari...@gm...> Date: Jun 5, 2006 3:38 PM Subject: SoC WPG conversion: progress as of June 5, 2006 To: de...@wp... Hi folks, Here's the status so far with my Summer of Code (WPG conversion filter). In the first week I spent time studying the WordPerfect Graphics file format. Seems that the format is not so difficult to understand. I tried to create few simple graphics in WordPerfect Office and examined the hexviewed version to get a feeling of the format. I also setup my working environment, intended to work as close as possible with WPO (for convenience, as I'd need to create/edit/modify/view lots of WPG files). First, I was using MinGW so that I can work in Win32. Later on I was succesful at setting up a virtualized Windows NT + WPO using QEMU inside my SUSE box. This is better as Linux is my preferred development platform. As starting point, I continue the development of libwpg with focus on WPG2 format. As my mentor (Fridrich Strba) has expressed, removing libgsf dependency is a good jump start so I did this. I also implemented few important WPG records, among others for handling pen and brush settings as well as basic shapes such as rectangle, polyline and polygon. Difficulties come from the object characterization data, which specifies e.g. the object transformation. Here the documentation is not clear and sometimes also has errors, but I'm working on it. To test the parsing routine, I also adjusted the listener class of WPG. Typically, one would create a new class derived from this listener and then e.g. implemented SVG output. I modified the listener to fit better the common painting model (as used in PostScript/Cairo/Qt) so that in the future it should be easy to create e.g. a PDF output. The wpg2svg conversion tool also got some love. I already implemented stroke color, opacity, dasharray, width. Along with some basic shapes such as line, polyline, rectangle (even with roundness), I can already view some WPG files converted to SVG using Inkscape and Karbon. Unfortunately so far I still work off the CVS (of libwpg). My code is still a mess and breaks WPG1 support. Of course, merging and syncing back the code is on my radar and I hope I can do this as soon as possible. Next on my plan is: - complete the brush properties - object characterization data, necessary for correct transformation - adjust WPG1 code with the new listener's painting model Regards, Ariya Hidayat |
From: Fridrich S. <fri...@bl...> - 2006-06-01 09:38:46
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 After you waited for it patiently for almost six months, the libwpd developer community has the pleasure to announce you that libwpd 0.8.5, "reward for your patience", has been released. This version adds, inter alia, header and footer conversion in WP5.x and WP3.x for Macintosh file formats. It also adds the support for footnotes and endnotes in WP5.x file format, improves the conversion of page margins and corrects issues with conversion of the position of tables and tabstops in multicolumn sections. This release fixes several bugs and annoyances. NOTE: libwpd-0.8.5 triggers a bug in AbiWordperfect <= 2.4.4, so it is best consumed with AbiWord > 2.4.4. Being a bugfix release, libwpd 0.8.5 is API compatible with all previous versions of 0.8.x series. You are naturally encouraged to upgrade as soon as this news comes your way. === libwpd is a C++ library designed to help process WordPerfect documents. It is most commonly used to import WordPerfect documents into other word processors (see below), but may be useful in other cases as well. libwpd is used by AbiWord (starting with version 2.2), OpenOffice.org (starting with version 2.0), and KOffice (starting with version 1.4). === Libwpd developer community P.S.: The complete ChangeLog for this version follows: CHANGES: 0.8.4 -> 0.8.5 - - Conversion of font face, size and colour in WP5 parser, including the default font information (Fridrich) - - Conversion of foot/endnotes in WP5.x format (Fridrich) - - Conversion of headers/footers in WP3 and WP5 parsers (Fridrich) - - Prevent negative paragraph margins due to page margin change. Removes the ugly text-border lines running across the text in OpenOffice.org (Fridrich) - - Make page margins constant between two hard page breaks (Fridrich) - - Convert page margin changes into section margins in multi-column sections - - Move absolute position values in multicolumn sections from whatever column they are in into the first one. Fixes the off-page position of the second table in 05mechanicalservice.wpd (Fridrich) - - Defer page span change to the end of the current paragraph if it is opened in order to prevent a paragraph break where it is not there in the original document (Fridrich) - - Fix http://bugzilla.abisource.com/show_bug.cgi?id=10105, an incorrect conversion of table alignment in WP3.x file format (Fridrich) - - Fix small issue with incorrect number of pages in page-spans (Fridrich) - - Fix an issue with "==" operator for WPXPageSpan classes. The result is now the same independent on the order of the operands (Fridrich) - - Fix http://bugzilla.abisource.com/show_bug.cgi?id=10279, a crash if a table from the middle of the tableList is in footnote and/or endnote (Marc, Fridrich) - - Add an option "--info" to wpd2text; called with this option, wpd2text dumps the information of the document instead of converting it. This could be useful for beagle (Fridrich) - - Refactoring of the listener structure and split of WPXListener into WPXContentListener and WPXStylesListener (Fridrich, Marc and Cyrille Moureau as a guest star) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFEfrWMu9a1imXPdA8RAmtsAJ97zqdqjqE1ikiWVpfaIxNqRtUj1wCfXGYF cySUQYn8ZIQDl0GmxJ52Vuo= =uuxs -----END PGP SIGNATURE----- |
From: Fridrich S. <fri...@bl...> - 2006-04-29 02:42:38
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Ravi, First let me thank you for your interest. As you might know already, the final selection of the "Google Summer of Code" program is up to Google, at the moment I can just confirm whether I want to take the mentoring role in your project. And of course I will. :-) As a prerequisite to any code contributions to our project you have to sign a joint copyright assignment with Sun. You can read more about contributions here: http://contributing.openoffice.org/programming.html As a preparation, you could read the libwpd API specification at http://abiword.snt.utwente.nl/~uwog/libwpd/ in order to get some complement to the information published in OpenOffice.org Wiki (http://wiki.services.openoffice.org/wiki/SummerOfCode2006#Writer:_Import_Filter_for_Word_Perfect_Graphics_files). Since the SF.net anonymous CVS is broken ATM, I will make available ASAP (before Monday, I hope) cvs snapshot tarballs of libwpd, writerperfect and libwpg at (http://hei.unige.ch/~strba5/SoC/) in order to allow the candidates to get familiar with the code. Note that the mentoring will be done simultaneously at de...@wp... and lib...@li... mailing lists. So subscribing these ones would be a good idea :-) Please note that our proposed list of tasks was done under the assumption that you are an experienced C++ developer who already has done his own C++ projects and who knows all the main stream stuff like templates or exceptions quite well, is able to think in object terms and understands the idea of separating interface and implementation. As you might have read on code.google.com you must finish the planned work in the estimated time (working period starts officially 23 May 2006 and ends 21 August) 2006 to get the payment from Google, so please consider this carefully. Just to let you know that another students showed also interest in this project. ATM we won't exclude anybody, so let's see how we can proceed. Best regards, Fridrich Strba P.S. Note that the period of applications starts on 1 May 2006 and ends on 8 May. Your application should be filed directly with Google. Ravi Sathyam wrote: > Hi, > I am currently a Bachelor's student in Electrical and Computer > Engineering at the University of Illinois at Urbana-Champaign (I will be > pursuing my MS in ECE here in Fall 2006 so I WILL be an eligible > student). I am really interested in this project, and was wondering > about the possible timeline you were viewing for it. I have good C++ > experience, and will send you my resume if needed. Please feel free to > contact me either via email or via phone - 1-309-287-6169. > > I really want to be given the opportunity to write code for this > particular project! > > Thanks, > Ravi Sathyam -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFEUnp1u9a1imXPdA8RAgiKAJ4ojVwonQ9h7KDJaFCS4upwvDPhtQCfQCzu 2+GypJiGBiiS2Uyt8ivuDI0= =FI/W -----END PGP SIGNATURE----- |
From: Fridrich S. <fri...@bl...> - 2006-04-27 13:11:06
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, William, William Lachance wrote: > On 4/19/06, Fridrich Strba <fri...@bl...> wrote: > This sounds like a wonderful idea. I'd be happy to help in whatever > way I can (I suppose subscribing to libwpg-devel would be a good > start..). As a start, it is a good one. If we find a student that is ready to do that (and one extremely good already contacted me), the mentoring (since it is an OO.o SoC proposal) will be done on de...@wp... and lib...@li... simultaneously. I wrote today rough guidelines at http://wiki.services.openoffice.org/wiki/SummerOfCode2006#Writer:_Import_Filter_for_Word_Perfect_Graphics_files Feel free to subscribe to the Wiki and edit if it is stupid/not-English/inexact/... It would be good if Marcs could agree add me to the project administrators and the talented student as developer so that the libwpg work can be done directly in the libwpg CVS. The administrative rights, I ask for them because at the end of the SoC, there should be a library enough good to be released as 0.1.0 version as well as the wpg2odg could sit there the way wpd2sxw sits in libwpd repository. BTW: An API like the libwpd one looks like a way to go. Do you have any idea how to place the svg:points property into a WPXProperty-ish framework? Cheers Fridrich -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFEUMLMu9a1imXPdA8RAiTZAJ9VQ3lmOMl0Amgdrg5wBDWi4yrcgwCfQ5OT DLrtBO6/h9qsRVtxayZjtw8= =YebS -----END PGP SIGNATURE----- |
From: William L. <wr...@gm...> - 2006-04-22 15:31:45
|
On 4/19/06, Fridrich Strba <fri...@bl...> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hello, good people > > Yesterday, I blogged about the need of developer interested in helping > with the progress of libwpg and WordPerfect Graphics conversion in > general. Mathias Bauer from OpenOffice.org Framework project proposed me > that if I am ready to mentor the person doing it, they could add it in > their list of Google SOC proposals. > > IMHO, this would be a good opportunity to gain a developer working on > the pictures. I have no problem mentoring someone and even helping out. > I just write to you people, especially Uwog, Foddex and William, whether > this is something that you would not oppose? > > Cheers > > Fridrich This sounds like a wonderful idea. I'd be happy to help in whatever way I can (I suppose subscribing to libwpg-devel would be a good start..). -- William Lachance wr...@gm... |
From: Fridrich S. <fri...@bl...> - 2006-04-19 13:39:29
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, good people Yesterday, I blogged about the need of developer interested in helping with the progress of libwpg and WordPerfect Graphics conversion in general. Mathias Bauer from OpenOffice.org Framework project proposed me that if I am ready to mentor the person doing it, they could add it in their list of Google SOC proposals. IMHO, this would be a good opportunity to gain a developer working on the pictures. I have no problem mentoring someone and even helping out. I just write to you people, especially Uwog, Foddex and William, whether this is something that you would not oppose? Cheers Fridrich -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFERj2Au9a1imXPdA8RAuEtAKCIAxTEVwl5EimRvpsyoAB05a3VGQCgh0Rf I5kr2FaMyDhImWu+5lYTiCE= =YZJx -----END PGP SIGNATURE----- |
From: Fridrich S. <fri...@bl...> - 2006-04-11 10:22:11
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, good people! I hope everybody is doing fine and looking forward to a new seasonal festivals. I am writing to you this e-mail in order to let you know what my own plans are for the next feature of libwpd and ask for your plans too. *Headers/footers* Last week as soon as SF.net graciously allowed me to do so, I committ= ed the implementation of headers and footers for WP5 and WP3 parsers. I would like to ask kindly those that have the possibility to generate documents in the above mentioned file formats to test this feature thoroughly and report any significant problems to this list. Given th= at we do not know when the anonymous cvs server of SourceForge.net will again be in sync with the developer one, I created for those who woul= d be eager to test a tarball that is at http://hei.unige.ch/~strba5/libwpd-0.8.4a/libwpd-0.8.4a.tar.gz It will work OK with a vanilla wpd2sxw 0.7.1 *Page and section margins* As I wrote in November, I have been trying to break my head and come = up with an elegant way to handle page margins in WP documents. I consult= ed Caol=C3=A1n and he pointed me to some of his code in MSWord converter= for OOo. The solution that I would like to propose is following: 1) Decompose the WP page margins into libwpd page margins (constant between two hard page breaks and equal to minimum margin between thes= e two breaks) and libwpd section margins. 2) Lay out every section (single or multiple column one) as a section= . This is perfectly legal in both ODT and abw file formats. The benefits would be: a) Possibility to convert correctly formatting (paragraph indents, ta= ble positions...) in multi column sections. b) Allow to implement flush right, centered on margins and other hard tabs correctly in the above mentioned multi column sections. Cons: i) Although this would not break the API, an older wpd2sxw and AbiWordperfect plugins using a new libwpd could have some margins incorrect. On the other hand, a new wpd2sxw and AbiWordperfect plug-i= n would do pretty well with an older libwpd (at least I would assure th= at the code is exactly doing this). There is a minimum version of the modification that does not require = the section margins part. Simply make the libwpd page margin as mentioned above and instead the section margin, handle the second component as = we do now (paragraph margins by page margin change). The only benefit of this approach would be that the "ugly line" marking the page borders would not run in the middle of the text and that the wpd2sxw and AbiWordperfect would not have to change. The other benefits would be = not there and implementation of the hard tabs and other foo would be hard= if not impossible in that setting (as it is hard/impossible now). So, I would like to have your input on this. I do not plan to include= it in libwpd 0.8.5, but in the following version it would be nice to hav= e. *Tabulators* Originally, I was thinking that the implementation of tabulators in libwpd 0.8.5 would be a nice thing to have, but I realize that it is about 4 months since we released libwpd 0.8.4 and thus I would like t= o release 0.8.5 as soon as possible and implement the tabs and (if agre= ed upon) the above-mentioned page/section margin split. This would allow= to release in the same token wpd2sxw 0.7.2 and new AbiWordperfect that would be page/section margin ready and diminish the probability of breakages in the moment of the split. /me hopes that my English is no= t as bad as to prevent understanding. Please, if it is not clear, you a= re free to yeal at me :-) *An old mac?* I start to have quite a problem to be converting WP3 file format with= out being able to see the document. This file format with its "old codes" and "new codes" section in variable length functions means about two = A4 sheets of hexadecimal garbage for two or three meaningful codes. As a= n example is the expectation-document's complex table that took about 1= 2 A4 sheets of hexadecimal output and it was quite a pain to understand the logic. So, if you know someone who has a PPC Macintosh somewhere = in his basement and wants to get rid of it, I would gladly accept the donation. It is enough to be able to run the classic environment with the different existing WP3.0-3.5e versions. If one can load MacOSX, i= t would be good, but just for easier network access, so it is not a mus= t. I tried to buy a MacMini, but since they releases the Intel versions,= I cannot get hold of any cheap PPC anymore. And emulators like Qemu can emulate PPC (and run a PPC linux on it), but installing MacOS is a different story. *0.9.x branch when?* I do not know when it should be, but I was just thinking that we coul= d start to think about possible new functions in our interface classes that would break the API. Like that, once the 0.9.x branch created, w= e would know what to implement ;-) As for me, I have two candidates "virtual void WPXHLListenerImpl::insertField(...)" for page numbers, page counts, etc... and "virtual void WPXHLListenerImpl::insertHyperLink(...)". *Export and pictures* Since a good while, there is an issue (request for feature) filed in = the OOo IssueZilla requesting a Save As WordPerfect Document feature. The discussions may appear from time to time on the #openoffice.org irc.freenode.net channel. My personal position has always been that t= he priority is to have a nearly perfect import and than we can start exporting. Although people argue that a basic export is better than nothing, Caol=C3=A1n (when I asked him) was warning that a basic expo= rt filter could become a time sink in terms of maintenance. Moreover, opening and saving a WP document without even modifying anything woul= d result in loss of all codes that are not both in the importer AND in = the exporter feature list. I can already see people who are shouting loud that the filter deleted their images, positioned boxes... I do not know what you think about it. But, I would like to know ;-) Concerning pictures, I would like to spend some time in finalizing th= e basic conversion of vector graphics in WPG2 and try to ask Marc I or Marc II to release an initial version so that people can start to pla= y with it. On the other hand, more I think about it, more I think that = a redesign of libwpd to include libwpg would be quite handy. For instan= ce, the text strings inside WP Graphics are using WP document formating, charsets ... OK, this is just my opinion and I as in everything I sai= d untill now, I might be wrong. I am copying this e-mail to the libwpg-devel list too in order to have some feedback. In a very short term, since according to the specifications, WPG is n= ot to be embedded in an OLE stream, I was thinking to port the input and output of the libwpg from libgsf to the C++ standard library istream = and ostream classes. This would diminish a set of dependencies. Your opin= ion? OK, I wrote more than enough. Hear from you soon Fridrich -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFEO4M6u9a1imXPdA8RAkn2AJ4/V5WmNZK8TZZyFPasfWWG+7wwrACeIRsr 4O1t/ZOMOBpzSPQbG14oa9U=3D =3D/lne -----END PGP SIGNATURE----- |
From: Fridrich S. <fri...@bl...> - 2005-02-14 15:42:15
|
Fridrich Strba wrote: > problem. I also discovered that in those files, the only record we do > not convert is (WPG1 !!!) Ox19 or 25 "Start WPG data (Type 2)". In the > documentation that is inside the cvs, the record is really not explained > at all. It has typically 11 bytes of data that I will try to > reverse-engineer, but am not sure I will come up with something serious. > It would be really good to have some insider that could give us this > kind of information. Just blindness. We actually have more docs. In the wp5sdk, there is a file wpgif.inc that actually describes WPG1. The format of the file is a bit raw, but one can find the information that one needs. Cheers Fridrich P.S. I would like to work a bit more on WPG2, but I am bouncing on the fact that I really do not know much about the terminology in the "graphic" jargon, i.e. what is a viewport. |
From: Fridrich S. <fri...@bl...> - 2005-02-01 17:20:55
|
Marc, with this patch, all of the documents from testdocs that are containing vector graphic element are converted. Nevertheless, we have problem with colours in certains. I noticed that wp2latex has the same problem. I also discovered that in those files, the only record we do not convert is (WPG1 !!!) Ox19 or 25 "Start WPG data (Type 2)". In the documentation that is inside the cvs, the record is really not explained at all. It has typically 11 bytes of data that I will try to reverse-engineer, but am not sure I will come up with something serious. It would be really good to have some insider that could give us this kind of information. Cheers Fridrich Some more modifications taking in account some of fill and line types CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: src/conv/raw/.cvsignore src/conv/raw/Makefile.am CVS: src/conv/raw/main.cpp src/conv/svg/.cvsignore CVS: src/conv/svg/Makefile.am src/conv/svg/main.cpp CVS: src/lib/WPG1Parser.cpp src/lib/WPGXParser.cpp CVS: src/lib/WPGXParser.h src/lib/wpglistener.h CVS: ---------------------------------------------------------------------- |
From: Fridrich S. <fri...@bl...> - 2005-01-31 11:35:18
|
Hello, I just added a basic colour support for the WPG1 parser. It is not perfect and work in progress. Nevertheless, try to convert the EGGS-BKN.WPG or DAISIES.WPG into svg and enjoy. Cheers Fridrich Basic colour support for WPG1 CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: src/conv/raw/main.cpp src/conv/svg/main.cpp CVS: src/lib/WPG1Parser.cpp src/lib/WPG2Parser.cpp CVS: src/lib/WPGXParser.cpp src/lib/WPGXParser.h CVS: src/lib/wpglistener.h CVS: ---------------------------------------------------------------------- |
From: Fridrich S. <fri...@bl...> - 2005-01-30 13:58:01
|
I realized that we had some problems with x,y coordinates in inches. In points (72 points per inch) it works well. The modified file is src/conv/svg/main.cpp If I manage to add the colour and line styles next week, we will have already some images nicely converted WPG1->SVG. Then, one should do the same for WPG2. After the vector graphics stuff is converted, we could try to attack the embeded bitmaps and postscript, but this is not the short term. BTW: We should fix a minimum requirement for an initial official release, like that we can make ourselves known a bit more. I will provide RedHat/Fedora RPMS and Win32 binaries of wpg2svg :-) ??? Fridrich P.S.: Release often and release soon. |
From: Fridrich S. <fri...@bl...> - 2005-01-29 06:19:01
|
Marc, J.M. Maurer wrote: >>uwog, how do you understand the talk about image precision in the WPG2 >>documentation? I am really lost in the ranges they mention. > I might look into it this weekend.. wpd2svg might be fun to hack on...! It definitely is. That is the reason why I created it. This allows us to actually see what we are converting. Very rewarding. The next step is to convert the line and fill attributes (line width, line colour, fill pattern fill colour,...) and maybe a correct conversion of ellipse fragments (we read it, but I did not find in SVG specs how to do it actually) and the non-bitmap images from "testdoc" will be looking gorgeous. I was thinking about converting first all vector graphics elements in both formats and then attack the bitmap and maybe postscript stuff. The unclear part is: The units of WPG coordinate data are stored in the Start WPG record. Coordinate data values are signed values indicating a location within a two-dimensional, right-hand, Cartesian coordinate system. Positive X and Y values are located to the right and above the image origin. Single-precision positional data uses short integer values ranging from 32768 to 32767. Double-precision positional data uses fixed-point values ranging from 32768.00000 to 32767.99998. Double-precision data is stored in long integer formats. Although double-precision positional data is defined by the format, Corel products (as currently implemented) use the fractional portion for rounding only. Therefore, positional data must not be defined in a small range (such as 0.21 to 1). Maybe it is me who did not understand the ranges going from bigger to smaller. Did they forget signs, but then signs are not needed in coordinates, since WPG starts from (0,0) and ends at (width,height). BTW: do not surprised if the svg images are upside down. The default coordinates of svg go from left-up and WPG from left-down. >>BTW, is there somewhere a really good WPG1 documentation? > I never found the complete documentation. I think we both have the same > docs... One can do with it for the while, but... BTW, the default palette of WPG1 and WPG2 is the same thing. I found it out. |
From: J.M. M. <j.m...@st...> - 2005-01-29 02:21:30
|
Op vr, 28-01-2005 te 11:31 +0100, schreef Fridrich Strba: > I just added the wpg2svg, in order to be able to have some real life > images. For the while it only creates an empty image of the size of the > WPG1 file. For WPG2, the image size is 0x0, but is it a valid SVG :-) > > Frankly, this looks like in 2 months of _payed_ full time work, one > could have made it convert both formats in a really good way (put aside > some embedded PlanPerfect or other proprietary elements). > > uwog, how do you understand the talk about image precision in the WPG2 > documentation? I am really lost in the ranges they mention. I might look into it this weekend.. wpd2svg might be fun to hack on...! > BTW, is there somewhere a really good WPG1 documentation? I never found the complete documentation. I think we both have the same docs... Marc |
From: Fridrich S. <fri...@bl...> - 2005-01-28 14:23:25
|
I could not prevent myself from committing this now. wpg2svg actually converts many of the images in "testdoc". It has only two colours: black and white, but one can already see the shape if one converts them in a *.svg file and opens them in inkscape (inkscape.sf.net). Cheers Fridrich Conversion of Polyline and Polygon CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: .cvsignore src/conv/raw/main.cpp src/conv/svg/main.cpp CVS: src/lib/.cvsignore src/lib/WPG1Parser.cpp src/lib/WPG1Parser.h CVS: src/lib/WPGXParser.h src/lib/libwpg.h src/lib/wpglistener.h CVS: ---------------------------------------------------------------------- |
From: Fridrich S. <fri...@bl...> - 2005-01-28 10:31:23
|
I just added the wpg2svg, in order to be able to have some real life images. For the while it only creates an empty image of the size of the WPG1 file. For WPG2, the image size is 0x0, but is it a valid SVG :-) Frankly, this looks like in 2 months of _payed_ full time work, one could have made it convert both formats in a really good way (put aside some embedded PlanPerfect or other proprietary elements). uwog, how do you understand the talk about image precision in the WPG2 documentation? I am really lost in the ranges they mention. BTW, is there somewhere a really good WPG1 documentation? Cheers Fridrich Conversion of WPG1 image size; Adding SVG listener (wpg2svg) CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: configure.in src/conv/Makefile.am src/conv/raw/.cvsignore CVS: src/conv/raw/main.cpp src/lib/Makefile.am CVS: src/lib/WPG1Parser.cpp src/lib/WPG1Parser.h CVS: src/lib/WPG2Parser.cpp src/lib/wpglistener.h CVS: Added Files: CVS: src/conv/svg/.cvsignore src/conv/svg/Makefile.am CVS: src/conv/svg/main.cpp src/conv/svg/wpg2svg.rc.in CVS: ---------------------------------------------------------------------- |
From: Fridrich S. <fri...@bl...> - 2005-01-27 14:01:55
|
The goal is to have the parsers publicly available if used from a WPD document, the WPG header is likely not to be there and the version of WPG depends on the version of WPD. Marc, can you review it whether it is not making something stupid? F. Refactoring of libwpg; "End WPG" stops the main loop; wpg2raw actually outputs something even if build with --disable-debug CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: src/conv/raw/main.cpp src/lib/Makefile.am src/lib/libwpg.cpp CVS: src/lib/libwpg.h CVS: Added Files: CVS: src/lib/WPG1Parser.cpp src/lib/WPG1Parser.h CVS: src/lib/WPG1Record.cpp src/lib/WPG1Record.h CVS: src/lib/WPG2Parser.cpp src/lib/WPG2Parser.h CVS: src/lib/WPG2Record.cpp src/lib/WPG2Record.h CVS: src/lib/WPGXParser.cpp src/lib/WPGXParser.h CVS: src/lib/WPGXRecord.cpp src/lib/WPGXRecord.h CVS: Removed Files: CVS: src/lib/wpgrecord.cpp src/lib/wpgrecord.h CVS: ---------------------------------------------------------------------- |
From: Fridrich S. <fri...@bl...> - 2005-01-26 09:52:26
|
Now we read the record length correctly. I added some more targets to the Makefile.am, just for fun :-) Cheers Fridrich Correction of the WPGRecordHeader::ReadVariableLengthInteger function CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: Makefile.am src/lib/wpgrecord.cpp src/lib/wpgrecord.h CVS: ---------------------------------------------------------------------- |
From: Fridrich S. <fri...@bl...> - 2005-01-26 08:19:13
|
J.M. Maurer wrote: > Op di, 25-01-2005 te 13:13 +0100, schreef Fridrich Strba: >>1) What about doing a little web-site ? > IIRC, i gave you the rights to change the website area :-P OK, it is not for tomorrow anyway, just was asking stupid questions as usual >>2) Mental reminder: we have to stop reading the file after the "End WPG >>Data" record. Some files that I met are having rubish after. > Maybe that data is Metadata? Would surprise me, normally this should be between the header and the document area. The documentation does not say anything about anything that follows the End WPG record. It should be the last one. That is why I call it rubish and treat as such :-) Or, at least, will treat as such. > Nice to see some commits to this project! I hope it will encourage everybody to contribute their own two pence. I would really like to see the libwpg produce something. Nevertheless, I am not really good in graphics. Tot ziens Fridrich |
From: J.M. M. <j.m...@st...> - 2005-01-25 22:25:35
|
Op di, 25-01-2005 te 13:13 +0100, schreef Fridrich Strba: > 1) What about doing a little web-site ? IIRC, i gave you the rights to change the website area :-P > 2) Mental reminder: we have to stop reading the file after the "End WPG > Data" record. Some files that I met are having rubish after. Maybe that data is Metadata? Nice to see some commits to this project! Bye! Marc |
From: Fridrich S. <fri...@bl...> - 2005-01-25 12:13:52
|
1) What about doing a little web-site ? 2) Mental reminder: we have to stop reading the file after the "End WPG Data" record. Some files that I met are having rubish after. Cheers Fridrich |
From: Fridrich S. <fri...@bl...> - 2005-01-25 11:50:57
|
OK, very ugly design, but we are parsing both WPG1 and WPG2. All files that I tried from the testdoc directory parse without throwing any exception and moreover start with StartWPG record and and with EndWPG one. The same for quad.wpg which is WPG2 file. It is clear that the design will have to improve and one has to make two different parsers, since the record types of WPG1 and WPG2 do not have anything to do. Cheers Fridrich Parsing WPG1 along with WPG2 CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: src/conv/raw/main.cpp src/lib/libwpg.cpp src/lib/libwpg.h CVS: src/lib/wpgheader.cpp src/lib/wpgheader.h CVS: src/lib/wpgrecord.cpp src/lib/wpgrecord.h CVS: ---------------------------------------------------------------------- |
From: J.M. M. <j.m...@st...> - 2005-01-23 17:15:32
|
Op zo, 23-01-2005 te 11:11 +0100, schreef Fridrich Strba: > Hello Marc & Marc and others, > > I was just thinking whether one could not make libwpg depend on libwpd > and use its WPXProperty* classes along with the WPXString and Co. This > would make us independent from libgsf and we would also not have to be > bothered about implementing the stream abstraction layer. Hmmm, I don't know about depending on libwpd, but I do like using WPXProperty*/WPXString and stream stuff... For now, we can start by depending on it, as no-one uses the library anyway yet. We can always refactor libwpd some more, or even create another 'common' lib ... > We could compose the libwpg from two parser for WPG1 and for WPG2. Since > the WPG formats can contain both vector graphics and bitmap (WPG2 can > contain both in the same time), the possible output (WPXProperty) could > be the corresponding SVG expression for vector graphics and base64 > encoded (uncompressed) bitmap. Sounds sane. Bye! Marc > P.S.: I hope that 2005 is going to be a year of an official release of > libwpg. If you make a good stab at it, it's a good project to learn something about setting up a C++ design... :-) |
From: Fridrich S. <fri...@bl...> - 2005-01-23 10:11:39
|
Hello Marc & Marc and others, I was just thinking whether one could not make libwpg depend on libwpd and use its WPXProperty* classes along with the WPXString and Co. This would make us independent from libgsf and we would also not have to be bothered about implementing the stream abstraction layer. We could compose the libwpg from two parser for WPG1 and for WPG2. Since the WPG formats can contain both vector graphics and bitmap (WPG2 can contain both in the same time), the possible output (WPXProperty) could be the corresponding SVG expression for vector graphics and base64 encoded (uncompressed) bitmap. What do you think about it? Cheers Fridrich P.S.: I hope that 2005 is going to be a year of an official release of libwpg. |