DEV300_m58

September 12th, 2009 by Caolan

DEV300_m58 callcatcher report shows framework increasing by 2 unused methods

DEV300_m57

September 5th, 2009 by Caolan

DEV300_m57 unused symbols now sub 900 as kohei’s latest sc cleanup is integrated

Dates, etc.

September 3rd, 2009 by Caolan

Well, this is somewhat of an unholy mess. I whipped up a quick date format comparator for glibc and icu for glibc’s supported locales and dispiritingly very few locales agree as to the short date format between icu, glibc, etc. To take one off the top, that of af_ZA

glibc: af_ZA.utf8: %x is 03/09/2009
icu 4.2: af_ZA: Short date is 2009-09-03
CLDR: af: date-short is 2009/09/03
OOo: Afrikaans (South Africa) 09/09/03

rats :-(

Default icu rules seem (?) to get generated from CLDR and checked into icu, but these appear to be out of sync with the current CLDR version. e.g. some tools to get regenerate the icu data from CLDR. Need to have a look to see if that’s truly the case.

locale mockup

August 29th, 2009 by Caolan

A mockup I’m played around with that tries to support the normal mortal case of just selecting the right locale, but supporting the apparently common situation of
a) wanting just the UI in US English which leads people to effectively set LANG=en_US and then fighting their applications one at a time to get them to not use Letter paper, not use a baffling date format, getting . vs , in numbers, inches vs cm, and so on
b) wanting dates in ISO format
and at the least letting you know up-front the effect your settings will have on applications.

e.g. X wants everything to be standard German
simple case

e.g. X wants UI in English because X finds that more comfortable but normally X will be writing in German and using metric, wants the normal German formatting rules to apply for numbers and currency, except for dates because X wants to use the ISO date format to avoid cross-cultural cockups on dates like the 6th of April and the 4th of June.
complex case

What maps to what
annotated

DEV300_m55

August 23rd, 2009 by Caolan

callcatcher results for DEV300_m55 now show rdbmaker and basctl as unused method free. Overall unused methods drops to 949. (desktop +1)

DEV300_m54

August 7th, 2009 by Caolan

DEV300_m54 callcatcher results show a modest -8 to 959 unused methods though sw sneaks in a new unused method.

ms protected sections

August 3rd, 2009 by Caolan

So even if only one section in MS Word is protected against changes, then Word disables the ability to track-changes or add comments globally for *ALL* sections. Unfortunately the Table of Contents in OOo is by default a read-only element, because editing it is a bad thing to to as your changes will be blown away the next time the toc is automatically updated. So…

OOo->export to .doc->read-only OOo toc becomes a word toc in a readonly section->word refuses to insert comments anywhere in the doc, even though you can manually edit the rest of the sections in word.

Sigh, *drums fingers*. Basically it’s bustage in word isn’t it, but still a problem. No bug in OOo. Changing the OOo default to make TOCs editable would “fix” it, but suboptimal. Not exporting readonly sections as such is wrong as well.

Clearly, hacking the special case of exporting a TOC that is set to read-only to output an editable section is broken too, but might be the best solution.

Expand “Defaults”

July 29th, 2009 by Caolan

Mock-up of proposed changes to the options dialog to expand the Defaults to show what they are, adding a “Default” entry for Document Language that get resolved at each-start rather than selecting a Document Language at first-start that sticks permanently.

New Print Dialog

July 23rd, 2009 by Caolan

So I’ve been tracking pl’s New Print UI stuff (details) with an eye to merging it with the Gtk Print Dialog extensions we carried for a while in Fedora. Hacking in the UI part of it today gives custom tabs something like…

Writer


Calc

Math

Impress


Spreadsheet UI tracks the gnumeric-alike workaround of placing the “print workbook sheets” stuff into a custom tab.

DEV300_m53

July 23rd, 2009 by Caolan

+2 unused methods in DEV300_m53

DEV300_m52 callcatcher

July 10th, 2009 by Caolan

DEV300_m52 callcatcher report (skipped announcing DEV300_m51 as it was the same as DEV300_m50). +8 unused methods

continuous record of last 5 seconds

July 9th, 2009 by Caolan

Really wish Istanbul or something like it had a “continuous record of last 5 seconds” option or something like that to capture what people were doing when the bad thing happened. Relying on memory is generally hopeless of course, and reported descriptions of a problem often wildly throw mismatching terminology around the place and omit the exact steps used.

notes on OOo and ARM

June 29th, 2009 by Caolan

To build OOo under ARM, (an apparently massively popular hobby in China at the moment for some reason other), try downloading the normal source from www.openoffice.org and…

./configure
make

that should go a long way. Though for < 3.2 you may need (ooo#100469) applied.

Of course, given that ARM isn’t generally fast, then there are likely cross-compilers, qemu-user hackery, or other stuff involved, but nothing specific to OOo, so if you can, say, build gedit with your environment, then OOo should generally build fine too. Try the same hackery you’d try with a simpler project with OOo.

And it is not porting something to simply build it. You actively have to change something before bandying around the term porting

MS XML decryption

June 26th, 2009 by Caolan

Based on Bill Seddon’s rather excellent notes I’ve implemented decrypting MS XML documents, though only tested it on .xlsx files protected with the default VanillaSweatshop password.

MSO new-format encrypted documents aren’t in .zip format, but instead the .zip is encrypted and bundled as a stream into a classic OLE2 structured storage container which has some other streams that describe how it’s encrypted. Unlike our own which remain as .zips with encrypted streams.

DEV300_m50

June 11th, 2009 by Caolan

DEV300_m50 callcatcher report, now back under 1000 again as chart2 unused removal etc. comes on stream

line numbering doc odt im/ex

June 4th, 2009 by Caolan

In both word (2007) and writer (3.1.0) paragraphs can opt out of line numbering at a paragraph level. On the other hand though, restarting line numbering is done at a paragraph level in writer, but at a section level in word. Which is unfortunate for an interoperability point of view.

For doc->odt conversion it’s fairly easy, just whack the restart value from the word section onto the first paragraph following that section break and all is well, though we have to be careful when munging two facts from the doc of a) paragraph opts-in/out of line numbering and b) section declares that line-numbering starts at value X, into one writer fact of “line numbering properties for a paragraph to not overwrite the other half of the fact.

On odt->doc, its not so easy. In the case where we’re re-exporting a odt which was imported from a doc then we can on export of a section have a quick peek to see if the first paragraph of that section happens to have a restart line numbering property and if so place it on the exported section. That’ll take care of doc->odt->doc round-tripping at least. where the final doc is the same as the initial doc

But for the generic odt->doc case we can’t be sure of a handy section existing right before a paragraph that uses restart line numbering so as to load the paragraph restart number onto the section. I guess we could add that circumstance to the already complicated reasons to export a section logic, its not an appealing solution, but the only one I can think of

non-free dictionaries that might be intended to be free

May 28th, 2009 by Caolan

Dictionaries available for OOo with problematic/no licence that can’t be included in Fedora, etc. possibly through oversight

Amharic/Tigrigna: Non-Commercial use
Tatar: No licence information
Akan: No license information
Luxembourgish: EUPL v1.0
Mossi: No licence information
Gascon: BY-NC-ND

DEV300_m49

May 27th, 2009 by Caolan

DEV300_m49 callcatcher results give xmlhelp,sccomp and lingucomponent as joining ranks of unused-method free.

cmcfixes59 will make autodoc unused-free, which should drop us under 1000, hopefully permanently :-)

unifypaper01 will add the Long Bond longer Legal paper size used in the Philippines, centralize all our paper-size to paper types maps, and centralize our various territory to default paper size maps and align them with the CLDR 1.7 table. glibc will also follow CLDR 1.7 in the next release, The upshot should be that Gnome, OOo etc. will/can agree on the default paper size out of the box

xresgrind

May 21st, 2009 by Caolan

So, “xresgrind”, my unholy overkill union of valgrind with X Pixmap/Window/etc. tracking lurched to life earlier. Checking it against OOo to see if it would have been able to automatically detect the dread pixmap leak of i85321 (which is long fixed, just re-introduced it locally to have a look-see) shows the expected correct results of…

==13354== Resource 0x46002fb of class 2 never released, acquired at
==13354==    at 0x400E2A6: XCreatePixmap (xr_intercepts.c:255)
==13354==    by 0x6D971F7: ???
==13354==    by 0x548154F: SalGraphics::DrawAlphaBitmap(SalTwoRect const&, SalBitmap const&, SalBitmap const&, OutputDevice const*) (salgdilayout.cxx:793)
==13354==    by 0x541322D: OutputDevice::ImplDrawAlpha(Bitmap const&, AlphaMask const&, Point const&, Size const&, Point const&, Size const&) (outdev2.cxx:1983)
==13354==    by 0x5413CF8: OutputDevice::ImplDrawBitmapEx(Point const&, Size const&, Point const&, Size const&, BitmapEx const&, unsigned long) (outdev2.cxx:891)
==13354==    by 0x54141FA: OutputDevice::DrawBitmapEx(Point const&, Size const&, Point const&, Size const&, BitmapEx const&) (outdev2.cxx:788)
==13354==    by 0x53E1C6E: ImplImageBmp::Draw(unsigned short, OutputDevice*, Point const&, unsigned short, Size const*) (impimage.cxx:550)
==13354==    by 0x54145B7: OutputDevice::DrawImage(Point const&, Image const&, unsigned short) (outdev2.cxx:1204)

Cool :-)

DEV300_m48

May 13th, 2009 by Caolan

DEV300_m48 callcatcher results. xml2cmp now unused method free, on the other hand svx has 35 new unused methods after the new code shuffle in that area