Mailinglist Archive: opensuse-commit (1929 mails)
| < Previous | Next > |
commit ghostscript-library for openSUSE:Factory
- From: root@xxxxxxxxxxxxxxx (h_root)
- Date: Sun, 02 Oct 2011 10:03:25 +0200
- Message-id: <20111002080325.5341C202AE@hilbert.suse.de>
Hello community,
here is the log from the commit of package ghostscript-library for
openSUSE:Factory
checked in at Sun Oct 2 10:03:25 CEST 2011.
--------
--- openSUSE:Factory/ghostscript-library/ghostscript-library.changes
2011-09-23 01:59:41.000000000 +0200
+++
/mounts/work_src_done/STABLE/ghostscript-library/ghostscript-library.changes
2011-09-29 15:30:54.000000000 +0200
@@ -1,0 +2,20 @@
+Thu Sep 29 13:23:40 CEST 2011 - jsmeix@xxxxxxx
+
+- Switch from Freetype font scaler/renderer (used since
+ Ghostscript 9.0) back to the traditional Ghostscript
+ built-in font scaler/renderer to avoid bnc#692356
+ by adding "-dDisableFAPI=true" to "gsopts" in pstoraster.
+
+-------------------------------------------------------------------
+Thu Sep 29 11:11:15 CEST 2011 - jsmeix@xxxxxxx
+
+- gs.svn_diff-c_12005.diff fixes
+ http://bugs.ghostscript.com/show_bug.cgi?id=691760
+ which is the upstream bug for bnc#681071.
+
+-------------------------------------------------------------------
+Tue Jul 26 09:41:26 UTC 2011 - andrea.turrini@xxxxxxxxx
+
+- Fixed typos in descriptions of ghostscript-library.spec
+
+-------------------------------------------------------------------
--- openSUSE:Factory/ghostscript-library/ghostscript-mini.changes
2011-09-23 01:59:41.000000000 +0200
+++ /mounts/work_src_done/STABLE/ghostscript-library/ghostscript-mini.changes
2011-09-29 11:15:06.000000000 +0200
@@ -1,0 +2,12 @@
+Thu Sep 29 11:12:28 CEST 2011 - jsmeix@xxxxxxx
+
+- gs.svn_diff-c_12005.diff fixes
+ http://bugs.ghostscript.com/show_bug.cgi?id=691760
+ which is the upstream bug for bnc#681071.
+
+-------------------------------------------------------------------
+Tue Jul 26 09:40:14 UTC 2011 - andrea.turrini@xxxxxxxxx
+
+- Fixed typos in descriptions of ghostscript-mini.spec
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
gs.svn_diff-c_12005.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghostscript-library.spec ++++++
--- /var/tmp/diff_new_pack.p2TmW1/_old 2011-10-02 10:03:19.000000000 +0200
+++ /var/tmp/diff_new_pack.p2TmW1/_new 2011-10-02 10:03:19.000000000 +0200
@@ -124,6 +124,9 @@
Patch53: ghostscript-9.00-jbig2broken.dif
Patch54: ghostscript-9.00-bnc559122.patch
Patch55: gs-9.00-implicit-fortify-decl.patch
+# Patch56 gs.svn_diff-c_12005.diff fixes
http://bugs.ghostscript.com/show_bug.cgi?id=691760
+# which is the upstream bug for bnc#681071
+Patch56: gs.svn_diff-c_12005.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version:%{suse_version}} > 1010
%define xfontdir /usr/share/fonts
@@ -152,7 +155,7 @@
/usr/share/doc/packages/ghostscript-library/doc/
-For mor informations please read the files Use.htm and Devices.htm.
+For more information please read the files Use.htm and Devices.htm.
@@ -434,6 +437,9 @@
#Patch0: ghostscript-8.70.dif
%patch0 -p0 -b .0
%patch55 -p1
+# Patch56 gs.svn_diff-c_12005.diff fixes
http://bugs.ghostscript.com/show_bug.cgi?id=691760
+# which is the upstream bug for bnc#681071
+%patch56 -p0 -b .r12005
%build
test ! -f /.buildenv || . /.buildenv
@@ -912,6 +918,10 @@
chmod 0755 %{buildroot}%{_datadir}/ghostscript/%{gsver}/lib/pphs
mv %{buildroot}%{_datadir}/ghostscript/%{gsver}/lib/pphs
%{buildroot}%{_bindir}/
#
+# Switch from Freetype font scaler/renderer (used since Ghostscript 9.0)
+# back to the traditional Ghostscript built-in font scaler/renderer
+# to avoid https://bugzilla.novell.com/show_bug.cgi?id=692356
+sed -i -e '/^gsopts="-dQUIET/a# Switch from Freetype back to the built-in font
renderer to avoid bnc#692356\ngsopts="$gsopts -dDisableFAPI=true"'
%{buildroot}%{cups_filter_dir}/pstoraster
#
%if "%name" != "ghostscript-mini"
#
++++++ ghostscript-mini.spec ++++++
--- /var/tmp/diff_new_pack.p2TmW1/_old 2011-10-02 10:03:19.000000000 +0200
+++ /var/tmp/diff_new_pack.p2TmW1/_new 2011-10-02 10:03:19.000000000 +0200
@@ -124,6 +124,9 @@
Patch53: ghostscript-9.00-jbig2broken.dif
Patch54: ghostscript-9.00-bnc559122.patch
Patch55: gs-9.00-implicit-fortify-decl.patch
+# Patch56 gs.svn_diff-c_12005.diff fixes
http://bugs.ghostscript.com/show_bug.cgi?id=691760
+# which is the upstream bug for bnc#681071
+Patch56: gs.svn_diff-c_12005.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version:%{suse_version}} > 1010
%define xfontdir /usr/share/fonts
@@ -152,7 +155,7 @@
/usr/share/doc/packages/ghostscript-library/doc/
-For mor informations please read the files Use.htm and Devices.htm.
+For more information please read the files Use.htm and Devices.htm.
@@ -434,6 +437,9 @@
#Patch0: ghostscript-8.70.dif
%patch0 -p0 -b .0
%patch55 -p1
+# Patch56 gs.svn_diff-c_12005.diff fixes
http://bugs.ghostscript.com/show_bug.cgi?id=691760
+# which is the upstream bug for bnc#681071
+%patch56 -p0 -b .r12005
%build
test ! -f /.buildenv || . /.buildenv
++++++ gs.svn_diff-c_12005.diff ++++++
Index: base/gdevp14.c
===================================================================
--- base/gdevp14.c (revision 12004)
+++ base/gdevp14.c (revision 12005)
@@ -900,7 +900,11 @@
nos->parent_color_info_procs->num_components, 1,
false, false, true, tos->planestride,
tos->rowstride, num_rows, num_cols);
- /* Transform the data */
+ /* Transform the data. Since the pdf14 device should be
+ using RGB, CMYK or Gray buffers, this transform
+ does not need to worry about the cmap procs of
+ the target device. Those are handled when we do
+ the pdf14 put image operation */
gscms_transform_color_buffer(icc_link, &input_buff_desc,
&output_buff_desc, tos->data,
new_data_buf);
Index: base/gxicolor.c
===================================================================
--- base/gxicolor.c (revision 12004)
+++ base/gxicolor.c (revision 12005)
@@ -97,6 +97,8 @@
irender_proc_t
gs_image_class_4_color(gx_image_enum * penum)
{
+ bool std_cmap_procs;
+
if (penum->use_mask_color) {
/*
* Scale the mask colors to match the scaling of each sample to
@@ -128,8 +130,14 @@
penum->mask_color.mask = 0;
penum->mask_color.test = ~0;
}
+ /* If the device has some unique color mapping procs due to its color
space,
+ then we will need to use those and go through pixel by pixel instead
+ of blasting through buffers. This is true for example with many of
+ the color spaces for CUPs */
+ std_cmap_procs = gx_device_uses_std_cmap_procs(penum->dev);
if ( (gs_color_space_get_index(penum->pcs) == gs_color_space_index_DeviceN
&&
- penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color ) {
+ penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color ||
+ !std_cmap_procs) {
return &image_render_color_DeviceN;
} else {
/* Set up the link now */
Index: base/gxcmap.c
===================================================================
--- base/gxcmap.c (revision 12004)
+++ base/gxcmap.c (revision 12005)
@@ -31,6 +31,7 @@
#include "gsicc_manage.h"
#include "gdevdevn.h"
#include "gsicc_cache.h"
+#include "gscms.h"
/* Structure descriptor */
public_st_device_color();
@@ -1744,3 +1745,37 @@
}
}
+
+bool
+gx_device_uses_std_cmap_procs(gx_device * dev)
+{
+ const gx_cm_color_map_procs *pprocs;
+
+ if (dev->device_icc_profile != NULL) {
+ pprocs = dev_proc(dev, get_color_mapping_procs)(dev);
+ /* Check if they are forwarding procs */
+ if (fwd_uses_fwd_cmap_procs(dev)) {
+ pprocs = fwd_get_target_cmap_procs(dev);
+ }
+ switch(dev->device_icc_profile->data_cs) {
+ case gsGRAY:
+ if (pprocs == &DeviceGray_procs) {
+ return true;
+ }
+ break;
+ case gsRGB:
+ if (pprocs == &DeviceRGB_procs) {
+ return true;
+ }
+ break;
+ case gsCMYK:
+ if (pprocs == &DeviceCMYK_procs) {
+ return true;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ return false;
+}
Index: base/gxcmap.h
===================================================================
--- base/gxcmap.h (revision 12004)
+++ base/gxcmap.h (revision 12005)
@@ -284,5 +284,11 @@
* [0,1]
*/
frac gx_unit_frac(float fvalue);
+/* Determine if the device is using the standard color mapping procs. In
+ such a case, we can make use of the faster icc color conversions for
+ images */
+bool gx_device_uses_std_cmap_procs(gx_device * dev);
+bool fwd_uses_fwd_cmap_procs(gx_device * dev);
+const gx_cm_color_map_procs* fwd_get_target_cmap_procs(gx_device * dev);
#endif /* gxcmap_INCLUDED */
Index: base/gxi12bit.c
===================================================================
--- base/gxi12bit.c (revision 12004)
+++ base/gxi12bit.c (revision 12005)
@@ -113,6 +113,8 @@
irender_proc_t
gs_image_class_2_fracs(gx_image_enum * penum)
{
+ bool std_cmap_procs;
+
if (penum->bps > 8) {
if (penum->use_mask_color) {
/* Convert color mask values to fracs. */
@@ -122,9 +124,14 @@
penum->mask_color.values[i] =
bits2frac(penum->mask_color.values[i], 12);
}
+ /* If the device has some unique color mapping procs due to its color
space,
+ then we will need to use those and go through pixel by pixel instead
+ of blasting through buffers. This is true for example with many of
+ the color spaces for CUPs */
+ std_cmap_procs = gx_device_uses_std_cmap_procs(penum->dev);
if ( (gs_color_space_get_index(penum->pcs) ==
gs_color_space_index_DeviceN &&
penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color
||
- penum->bps != 16 ||
+ penum->bps != 16 || !std_cmap_procs ||
gs_color_space_get_index(penum->pcs) ==
gs_color_space_index_DevicePixel) {
/* DevicePixel color space used in mask from 3x type. Basically
a simple color space that just is scaled to the device bit
Index: base/lib.mak
===================================================================
--- base/lib.mak (revision 12004)
+++ base/lib.mak (revision 12005)
@@ -602,7 +602,7 @@
$(gxalpha_h) $(gxcspace_h) $(gxfarith_h) $(gxfrac_h)\
$(gxdcconv_h) $(gxdevice_h) $(gxcmap_h) $(gsnamecl_h) $(gxlum_h)\
$(gzstate_h) $(gxdither_h) $(gxcdevn_h) $(string__h)\
- $(gsicc_manage_h) $(gdevdevn_h) $(gsicc_cache_h)
+ $(gsicc_manage_h) $(gdevdevn_h) $(gsicc_cache_h) $(gscms_h)
$(GLCC) $(GLO_)gxcmap.$(OBJ) $(C_) $(GLSRC)gxcmap.c
$(GLOBJ)gxcpath.$(OBJ) : $(GLSRC)gxcpath.c $(GXERR)\
Index: base/gxiscale.c
===================================================================
--- base/gxiscale.c (revision 12004)
+++ base/gxiscale.c (revision 12005)
@@ -104,6 +104,13 @@
!= penum->dev->color_info.num_components) {
use_icc = false;
}
+ /* If the device has some unique color mapping procs due to its color
space,
+ then we will need to use those and go through pixel by pixel instead
+ of blasting through buffers. This is true for example with many of
+ the color spaces for CUPs */
+ if(!gx_device_uses_std_cmap_procs(penum->dev)) {
+ use_icc = false;
+ }
/*
* USE_CONSERVATIVE_INTERPOLATION_RULES is normally NOT defined since
* the MITCHELL digital filter seems OK as long as we are going out to
Index: base/gdevnfwd.c
===================================================================
--- base/gdevnfwd.c (revision 12004)
+++ base/gdevnfwd.c (revision 12005)
@@ -1117,3 +1117,29 @@
{
return 0;
}
+
+bool
+fwd_uses_fwd_cmap_procs(gx_device * dev)
+{
+ const gx_cm_color_map_procs *pprocs;
+
+ pprocs = dev_proc(dev, get_color_mapping_procs)(dev);
+ if (pprocs == &FwdDevice_cm_map_procs) {
+ return true;
+ }
+ return false;
+}
+
+const gx_cm_color_map_procs*
+fwd_get_target_cmap_procs(gx_device * dev)
+{
+ const gx_cm_color_map_procs *pprocs;
+ gx_device_forward * const fdev = (gx_device_forward *)dev;
+ gx_device * const tdev = fdev->target;
+
+ pprocs = dev_proc(tdev, get_color_mapping_procs(tdev));
+ while (pprocs == &FwdDevice_cm_map_procs) {
+ pprocs = fwd_get_target_cmap_procs(tdev);
+ }
+ return pprocs;
+}
\ No newline at end of file
continue with "q"...
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx
| < Previous | Next > |