Available from
http://poppler.freedesktop.org/poppler-0.8.1.tar.gz
Changes since 0.8.0:
core:
* Do not call FT_Done_Face on a live cairo_font_face_t as it might cause crashes
* Do not take into account Colorspace resource subdictionary for image XObjects
* Downsample 16 bit per component images to 8 bit per component so they render
build system:
* Link to pthread when the system needs it
windows:
* Fix comparing against NULL instead against INVALID_HANDLE_VALUE when calling FindFirstFile
0.8.2 version is scheduled for May 26th
Testing, patches and bug reports welcome.
A blog about random things and sometimes about my work translating and developing KDE and anything
Saturday, April 26, 2008
Poppler 0.8.1 released
Thursday, April 24, 2008
Q_FOREACH is your friend
It's real, foreach makes writing loops much more convenient, but you have to know how to use it, see the following code:
There are two problems in the usage of foreach in this code.
The first problem is serious, it is trying to use foreach to modify the values of vector. The code compiles, but if you run it, you'll notice nothing was changed, why oh why?! may you ask. Because Foo f is a local variable to the foreach, so what you are doing is modifying a variable that exists in this very same line and nothing more.
The second problem is that you are constructing far much more Foo objects than needed, if you look at the output the copy constructor is called each time in the foreach, so the correct way for the debug line would be
So remember, always that your foreach iterator is not a basic value like an int, double or pointer, use const &, it will be faster and will protect you against the try to use foreach to modify values problem, because
will not compile.
#include <QList>
#include <QtDebug>
class Foo
{
public:
Foo()
{
qDebug("Empty constructor");
}
Foo(int aa, int bb, int cc) : a(aa), b(bb), c(cc)
{
qDebug("Constructor");
}
Foo(const Foo &f)
{
a = f.a;
b = f.b;
c = f.c;
qDebug("Copy constructor");
}
int a, b, c;
};
int main(int /*argc*/, char ** /*argv*/)
{
QList<Foo> list;
list << Foo(1, 2, 3);
list << Foo(4, 5, 6);
list << Foo(7, 8, 9);
list << Foo(10, 11, 12);
list << Foo(13, 14, 15);
foreach(Foo f, list)
f.a = f.b = f.c = 0;
foreach(Foo f, list)
qDebug() << f.a << f.b << f.c;
}
There are two problems in the usage of foreach in this code.
The first problem is serious, it is trying to use foreach to modify the values of vector. The code compiles, but if you run it, you'll notice nothing was changed, why oh why?! may you ask. Because Foo f is a local variable to the foreach, so what you are doing is modifying a variable that exists in this very same line and nothing more.
The second problem is that you are constructing far much more Foo objects than needed, if you look at the output the copy constructor is called each time in the foreach, so the correct way for the debug line would be
foreach(const Foo &f, list)
qDebug() << f.a << f.b << f.c;
}
So remember, always that your foreach iterator is not a basic value like an int, double or pointer, use const &, it will be faster and will protect you against the try to use foreach to modify values problem, because
foreach(const Foo &f, list)
f.a = f.b = f.c = 0;
will not compile.
KUbuntu 8.04 released with rock solid 3.5.9 goodness...
...unless you try to automount USB devices, because that'll give you a deadlocked kded! HORRAY! It's quite interesting to see how a bug caused for a patch to use LUKS is not fixed or the patch reverted when such an used feature has such a big bug like deadlocking kded...
Tuesday, April 22, 2008
Spanish keyboard, dead ~ or not?
If you are using a Spanish keyboard layout, you may have noticed that in some Xorg update, AltGr+4 stopped typing a ~ and then you had to do AltGr+4+space or AltGr+4+AltGr+4 to get a ~.
This is because a non spanish user requested that change and Xorg people changed it.
I asked it to be reverted as there's no use for a dead ~ in Spanish as we don't have ã nor õ (we have ñ but we have a whole key for that) and the xkb maintainer asked me to run some kind of votation so that people decides what they like more.
So please, if you have an opinion on that issue go to http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477197 and http://bugs.freedesktop.org/show_bug.cgi?id=9763 to get all the facts and write your opinion to 477197@bugs.debian.org
This is because a non spanish user requested that change and Xorg people changed it.
I asked it to be reverted as there's no use for a dead ~ in Spanish as we don't have ã nor õ (we have ñ but we have a whole key for that) and the xkb maintainer asked me to run some kind of votation so that people decides what they like more.
So please, if you have an opinion on that issue go to http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=477197 and http://bugs.freedesktop.org/show_bug.cgi?id=9763 to get all the facts and write your opinion to 477197@bugs.debian.org
Dissappointed with SoC results
So, selected KDE SoC projects are out, and i have to say that personally i'm somewhat disappointed.
Personally i think we've done bad decisions in leaving proven KDE people with sensible projects out, while betting for too many non-proven newbies.
Besides that, the IRC meeting had, in my opinion, too much power over the final outcome, and people like me or David that could not attend it, saw how their mentored projects got dismissed when probably if we had been there that would not have happened so easily.
But well, that huge power of the IRC meeting is also probably due to Google's webpage sucking when you have to rate over 250 applications.
So life's hard, nothing to see here, keep moving.
Personally i think we've done bad decisions in leaving proven KDE people with sensible projects out, while betting for too many non-proven newbies.
Besides that, the IRC meeting had, in my opinion, too much power over the final outcome, and people like me or David that could not attend it, saw how their mentored projects got dismissed when probably if we had been there that would not have happened so easily.
But well, that huge power of the IRC meeting is also probably due to Google's webpage sucking when you have to rate over 250 applications.
So life's hard, nothing to see here, keep moving.
Sunday, April 13, 2008
fglrx blocking Xorg on logout
If you are running Kubuntu Hardy with the flgrx drivers and logging out does not work due to the Xorg process locking up at 100% of CPU usage, you should thank Stefan Carslöv for tracking down the issue to /etc/ati/authatieventsd.sh being unproperly configured, you need to change
to:
XDM_AUTH_MASK=/var/lib/xdm/authdir/authfiles/A$1*
to:
XDM_AUTH_MASK=/var/run/xauth/A$1*
Thursday, April 10, 2008
Throwing Away Promo CDs is Illegal
Or so says Universal. The world has gone mad.
Wednesday, April 02, 2008
iParty X was awesone
This weekend i was with some other spanish KDE dudes (ereslibre, apol, ana`, nefertum and pgquiles) at the Aditel iParty X where we did some talks about KDE. It was a very nice experience being at a Free Software only party.
We celebrated ereslibre's anniversary with a KDE cake and a huge greeting :-)
You can see the photos at http://www.kde.cat/aacid/fotos/ipartyx/ and the Qt4 Dance at http://www.youtube.com/watch?v=EZxmKzbbmEU
We celebrated ereslibre's anniversary with a KDE cake and a huge greeting :-)
You can see the photos at http://www.kde.cat/aacid/fotos/ipartyx/ and the Qt4 Dance at http://www.youtube.com/watch?v=EZxmKzbbmEU
Wednesday, March 26, 2008
Poppler 0.8 Released
So we made it and released poppler 0.8. Congrats to everyone involved.
Changes since 0.7.3 include:
* Fix caching of members in the glib frontend causing issues with rendering
* Change glib public api to have a correct naming
* Some better error handling on corner cases
* Check the document stream is seekable when opening it
* Build fixes with autotools and with cmake
* Fix infinite recursion on some malformed documents when consulting the fonts
* Fix possible crash when asking for Movie contents
I've created a branch for 0.8 releases for bugfixes, i'll try to keep a monthly release schedule like we had with 0.6
If you want to create a directory holding branch 0.8 you can do:
git clone ssh://yourUser@git.freedesktop.org/git/poppler/poppler poppler-0.8
cd poppler-0.8/
git checkout --track -b poppler-0.8 origin/poppler-0.8
if you don't have an account first line should be
git clone git://git.freedesktop.org/git/poppler/poppler poppler-0.8
Testing, patches and bug reports welcome.
Changes since 0.7.3 include:
* Fix caching of members in the glib frontend causing issues with rendering
* Change glib public api to have a correct naming
* Some better error handling on corner cases
* Check the document stream is seekable when opening it
* Build fixes with autotools and with cmake
* Fix infinite recursion on some malformed documents when consulting the fonts
* Fix possible crash when asking for Movie contents
I've created a branch for 0.8 releases for bugfixes, i'll try to keep a monthly release schedule like we had with 0.6
If you want to create a directory holding branch 0.8 you can do:
git clone ssh://yourUser@git.freedesktop.org/git/poppler/poppler poppler-0.8
cd poppler-0.8/
git checkout --track -b poppler-0.8 origin/poppler-0.8
if you don't have an account first line should be
git clone git://git.freedesktop.org/git/poppler/poppler poppler-0.8
Testing, patches and bug reports welcome.
Wednesday, March 19, 2008
Poppler 0.7.3 (0.8 RC2) released
This is the second and last release candidate of what will be Poppler 0.8
Changes include:
* Fix regression in Splash renderer
* Fix off-by-one write in Splash
* Plug some minor leaks in Optional Content code
* Improve error handling when creating a document in the glib frontend
So only one regression and some minor fine tuning. Seems we are on track for
releasing 0.8.0 next week
glib tests are known not to build using cmake, so if you are using cmake
disable glib tests for now.
Testing, patches and bug reports welcome.
Changes include:
* Fix regression in Splash renderer
* Fix off-by-one write in Splash
* Plug some minor leaks in Optional Content code
* Improve error handling when creating a document in the glib frontend
So only one regression and some minor fine tuning. Seems we are on track for
releasing 0.8.0 next week
glib tests are known not to build using cmake, so if you are using cmake
disable glib tests for now.
Testing, patches and bug reports welcome.
Wednesday, March 12, 2008
Poppler 0.7.2 (0.8 RC1) released
So one week after the scheduled date, we have released Poppler 0.7.2.
This is the first release candidate of what will be Poppler 0.8
From now on no API nor ABI changes are allowed unless TOTALLY necessary. Only bugfixes until we release and branch 0.8
We will try to follow the planned schedule with a 1 week delay applied, that is:
* March 19 -> Poppler 0.7.3 (0.8 RC 2)
* March 26 -> Poppler 0.8.0
And now onto the changes
Major Changes:
* Improve font matching not forcing default values onto Fontconfig
* Add preliminary annotations support in the glib frontend
* Initial Movie support in the core
* Make GDK dependency optional in glib bindings
Minor Changes:
* Make the core able to read mime types of embedded files
* Qt4 API for accessing mime types of embedded files
* Handle correctly check state of optional content groups
regarding parents state
* Avoid setting singular CTM matrices on the Cairo backend
* Improved Qt4 API to get character position
* Qt4 api documentation improvements
* Qt4 minor stability fixes
* Proper lib64 Qt detection
* Fix build when compiling without cairo support
Testing, patches and bug reports welcome.
This is the first release candidate of what will be Poppler 0.8
From now on no API nor ABI changes are allowed unless TOTALLY necessary. Only bugfixes until we release and branch 0.8
We will try to follow the planned schedule with a 1 week delay applied, that is:
* March 19 -> Poppler 0.7.3 (0.8 RC 2)
* March 26 -> Poppler 0.8.0
And now onto the changes
Major Changes:
* Improve font matching not forcing default values onto Fontconfig
* Add preliminary annotations support in the glib frontend
* Initial Movie support in the core
* Make GDK dependency optional in glib bindings
Minor Changes:
* Make the core able to read mime types of embedded files
* Qt4 API for accessing mime types of embedded files
* Handle correctly check state of optional content groups
regarding parents state
* Avoid setting singular CTM matrices on the Cairo backend
* Improved Qt4 API to get character position
* Qt4 api documentation improvements
* Qt4 minor stability fixes
* Proper lib64 Qt detection
* Fix build when compiling without cairo support
Testing, patches and bug reports welcome.
Tuesday, March 04, 2008
Konqueror 4.0.2 is more translated than firefox :-)
With the imminent release of KDE 4.0.2, Konqueror will not only have a bigger Acid3 score than Firefox, it will also include 50 languages (49 translations + original English) which equals 50 Firefox 2.0.0.12 translations (44 official + 1 beta + 5 language packs) so if you belong to a language that still is not well translated into KDE join the amazing l10n team of KDE and help us surpass Firefox there too ;-)
Etiquetes de comentaris:
kde,
konqueror,
translation
Sunday, March 02, 2008
Spending my time writing useless software
So here i am, having a TODO list of over 70 items and having to finish my slides for a class i'll do on Saturday about KDE and what do i do? Port and improve my gopher ioslave to KDE4. *sigh*
Wednesday, February 27, 2008
Poppler 0.7.1 (0.8 Beta 2) released
Available from
http://poppler.freedesktop.org/poppler-0.7.1.tar.gz
This is the second release of what will be the 0.8 stable series. We will be having a roughly weekly release schedule until we hit 0.8 stable version. Target is March 19 for 0.8.0
Major Changes:
* Really distribute CMake files as optional build tool
* Initial Optional Content support in core and in the Qt4 frontend
Minor Changes:
* Allow grouped checkboxes to be selected individually
* Qt4 demo program improvements
* Keep cairo and cairo_shape consistent
* Safety checks on Splash renderer so that it does not draw outside the
allocated bitmap
* Do not try to display bitmaps of invalid size
* Fix building with exceptions
* Improvements for building with MSVC and CMake
Testing, patches and bug reports welcome.
http://poppler.freedesktop.org/poppler-0.7.1.tar.gz
This is the second release of what will be the 0.8 stable series. We will be having a roughly weekly release schedule until we hit 0.8 stable version. Target is March 19 for 0.8.0
Major Changes:
* Really distribute CMake files as optional build tool
* Initial Optional Content support in core and in the Qt4 frontend
Minor Changes:
* Allow grouped checkboxes to be selected individually
* Qt4 demo program improvements
* Keep cairo and cairo_shape consistent
* Safety checks on Splash renderer so that it does not draw outside the
allocated bitmap
* Do not try to display bitmaps of invalid size
* Fix building with exceptions
* Improvements for building with MSVC and CMake
Testing, patches and bug reports welcome.
Saturday, February 23, 2008
PostScript is turing complete
Yes, PostScript is turing complete so next time you get a different output when printing with kpdf than the one you get when doing print preview in kpdf, specially if the print preview looks correct, blame whoever decided to use such a complex language for printers and also the drivers of your printer for not being able to understand it, do not blame kpdf.
Etiquetes de comentaris:
kpdf,
postscript,
turing
Tuesday, February 19, 2008
Poppler 0.7.0 (0.8 Beta 1) released
Available from
http://poppler.freedesktop.org/poppler-0.7.0.tar.gz
This is the first release of what will be the 0.8 stable series. We will be having a roughly weekly release schedule until we hit 0.8 stable version.
Besides lots of small improvements/bugfixes, the big things of this release are:
* Saving support
* Partial annotation support
* Forms improvements
* Add support for ActualText entries
* Display characters outside of unicode BMP with TT font
* CJK rendering fixes
* Implement Adobe Glyph Naming convention for fonts
* CMake as optional build tool
* Better font scaling for non embedded fonts
* Preserve PDF page labels when we output as postscript
I've created a tag for 0.7.0 but not a branch. We will keep developing on master for the short 0.7 series, so please, only commit bugfixes, frontend improvements and "preapproved core changes" like saving/forms/optionalContent changes.
Testing, patches and bug reports welcome.
http://poppler.freedesktop.org/poppler-0.7.0.tar.gz
This is the first release of what will be the 0.8 stable series. We will be having a roughly weekly release schedule until we hit 0.8 stable version.
Besides lots of small improvements/bugfixes, the big things of this release are:
* Saving support
* Partial annotation support
* Forms improvements
* Add support for ActualText entries
* Display characters outside of unicode BMP with TT font
* CJK rendering fixes
* Implement Adobe Glyph Naming convention for fonts
* CMake as optional build tool
* Better font scaling for non embedded fonts
* Preserve PDF page labels when we output as postscript
I've created a tag for 0.7.0 but not a branch. We will keep developing on master for the short 0.7 series, so please, only commit bugfixes, frontend improvements and "preapproved core changes" like saving/forms/optionalContent changes.
Testing, patches and bug reports welcome.
Saturday, February 02, 2008
Okular and libspectre
Since KDE 4.0 okular has been using libspectre to render PS files. Due to libspectre being too new we decided to package it inside okular sources in the KDE 4.0.x tree. That has been corrected in trunk because everyone knows having other libraries inside your own source tree sucks, so for now on you need libspectre to get PS support on okular. The downside of that is that i could only find Debian and Pardus libspectre packages, so go to your distro and file a bug and tell them to package libspectre.
Intel publishes graphic cards specs
So now, besides paying people to work on drivers, specs are available to everyone else, cool!
Monday, January 28, 2008
Suggestions for improving a message
Today speaking with fellow KDE devels we realized some of them had the region set to the default C region, that basically means something like USA region but not completely, so not something you want when living not in USA.
Currently the name for that text entry for that is "Default", that may lead to problems as you might think the "Default" region is the correct, but it most probably is not. Some people suggested to switch to "Not Set" which is not completely accurate as it is set to C region, but will probably help "non-purist" users to set the correct Region. Other options go through "Default (Not Set)" or "Not Set (C Region)", etc.
So i'm asking the wider audience here, what would you think it would be the better wording?
To see it live go to systemsettings->Regional & Language, choose "Country/Region & Language" option on the left bar and "Country or Region: YourCurrentRegion (change...)" is what we are talking about.
Currently the name for that text entry for that is "Default", that may lead to problems as you might think the "Default" region is the correct, but it most probably is not. Some people suggested to switch to "Not Set" which is not completely accurate as it is set to C region, but will probably help "non-purist" users to set the correct Region. Other options go through "Default (Not Set)" or "Not Set (C Region)", etc.
So i'm asking the wider audience here, what would you think it would be the better wording?
To see it live go to systemsettings->Regional & Language, choose "Country/Region & Language" option on the left bar and "Country or Region: YourCurrentRegion (change...)" is what we are talking about.
Saturday, January 26, 2008
Poppler 0.6.4 released
Poppler 0.6.4 is available from http://poppler.freedesktop.org/poppler-0.6.4.tar.gz
Changes since 0.6.3:
Qt4 frontend:
* Fix crash on links that point to a non existant page
* Make Document::renderHints return the correct render hints
* Fix infinite loop when parsing LineAnnotation
core:
* Fix crash in the Splash renderer when T3 fonts are badly defined
* Draw underlined Links correctly
utils:
* Fix two use after free bugs in HtmlOutputDev.cc
build system:
* Fix build on mingw32
tests:
* Distribute the glade file of pdf-inspector
Changes since 0.6.3:
Qt4 frontend:
* Fix crash on links that point to a non existant page
* Make Document::renderHints return the correct render hints
* Fix infinite loop when parsing LineAnnotation
core:
* Fix crash in the Splash renderer when T3 fonts are badly defined
* Draw underlined Links correctly
utils:
* Fix two use after free bugs in HtmlOutputDev.cc
build system:
* Fix build on mingw32
tests:
* Distribute the glade file of pdf-inspector
Subscribe to:
Posts (Atom)