summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMattia Rizzolo <mattia@mapreri.org>2014-10-03 14:05:35 +0000
committerMattia Rizzolo <mattia@mapreri.org>2014-10-03 14:05:35 +0000
commit1083fdcdb608210a42e00fc6819a6d5ce5996b2a (patch)
tree516ac97c6e36375d66b6cfbfbdb430eea8a46c0c
parent129ed4b29e21fdb8bda3bee89c3e5d8cca6ba749 (diff)
Imported Upstream version 0.994upstream/0.994
-rw-r--r--ICM.TODO2
-rwxr-xr-xconfigure2
-rw-r--r--configure.in2
-rw-r--r--doc/sane-xsane-color-correction-doc.html4
-rw-r--r--doc/sane-xsane-color-management-doc.html4
-rw-r--r--doc/sane-xsane-doc.html1
-rw-r--r--doc/sane-xsane-setup-color-management-doc.html6
-rw-r--r--doc/sane-xsane-setup-copy-doc.html33
-rw-r--r--doc/xsane-color-correction-rgb-default.jpgbin0 -> 37308 bytes
-rw-r--r--doc/xsane-color-correction.jpgbin50687 -> 55369 bytes
-rw-r--r--doc/xsane-copy.jpgbin32105 -> 35793 bytes
-rw-r--r--doc/xsane-email-project.jpgbin32280 -> 31967 bytes
-rw-r--r--doc/xsane-email.jpgbin29906 -> 33040 bytes
-rw-r--r--doc/xsane-enable-color-management.jpgbin19072 -> 18300 bytes
-rw-r--r--doc/xsane-fax-project.jpgbin23336 -> 24915 bytes
-rw-r--r--doc/xsane-fax.jpgbin28055 -> 30648 bytes
-rw-r--r--doc/xsane-gimp.jpgbin43028 -> 30515 bytes
-rw-r--r--doc/xsane-multipage-project.jpgbin21451 -> 24551 bytes
-rw-r--r--doc/xsane-multipage.jpgbin30051 -> 33239 bytes
-rw-r--r--doc/xsane-preferences.jpgbin9573 -> 10246 bytes
-rw-r--r--doc/xsane-save.jpgbin33879 -> 37124 bytes
-rw-r--r--doc/xsane-setup-copy.jpgbin71150 -> 73066 bytes
-rw-r--r--doc/xsane-viewer.jpgbin33953 -> 37308 bytes
-rw-r--r--include/config.h4
-rw-r--r--po/ca.gmobin57831 -> 57831 bytes
-rw-r--r--po/ca.po10
-rw-r--r--po/cs.gmobin54581 -> 54581 bytes
-rw-r--r--po/cs.po10
-rw-r--r--po/da.gmobin52998 -> 52998 bytes
-rw-r--r--po/da.po10
-rw-r--r--po/de.gmobin61661 -> 61817 bytes
-rw-r--r--po/de.po12
-rw-r--r--po/de.po~83
-rw-r--r--po/es.gmobin48288 -> 48288 bytes
-rw-r--r--po/es.po10
-rw-r--r--po/fr.gmobin47561 -> 47561 bytes
-rw-r--r--po/fr.po10
-rw-r--r--po/hu.gmobin54425 -> 54425 bytes
-rw-r--r--po/hu.po10
-rw-r--r--po/it.gmobin57023 -> 57023 bytes
-rw-r--r--po/it.po10
-rw-r--r--po/ja.gmobin50094 -> 50094 bytes
-rw-r--r--po/ja.po10
-rw-r--r--po/nl.gmobin51255 -> 51255 bytes
-rw-r--r--po/nl.po10
-rw-r--r--po/pl.gmobin54298 -> 54298 bytes
-rw-r--r--po/pl.po10
-rw-r--r--po/pt.gmobin46875 -> 46875 bytes
-rw-r--r--po/pt.po10
-rw-r--r--po/pt_BR.gmobin46891 -> 46891 bytes
-rw-r--r--po/pt_BR.po10
-rw-r--r--po/ro.gmobin47757 -> 47757 bytes
-rw-r--r--po/ro.po10
-rw-r--r--po/ru.gmobin72680 -> 72680 bytes
-rw-r--r--po/ru.po10
-rw-r--r--po/sk.gmobin47731 -> 47731 bytes
-rw-r--r--po/sk.po10
-rw-r--r--po/sl.gmobin53406 -> 53406 bytes
-rw-r--r--po/sl.po10
-rw-r--r--po/sr.gmobin34409 -> 34409 bytes
-rw-r--r--po/sr.po10
-rw-r--r--po/sv.gmobin43191 -> 43191 bytes
-rw-r--r--po/sv.po10
-rw-r--r--po/tr.gmobin52997 -> 52997 bytes
-rw-r--r--po/tr.po10
-rw-r--r--po/vi.gmobin49291 -> 49291 bytes
-rw-r--r--po/vi.po10
-rw-r--r--po/xsane.pot10
-rw-r--r--po/zh.gmobin24167 -> 24167 bytes
-rw-r--r--po/zh.po10
-rw-r--r--po/zh_CN.gmobin27816 -> 27816 bytes
-rw-r--r--po/zh_CN.po10
-rw-r--r--src/xsane-device-preferences.c14
-rw-r--r--src/xsane-multipage-project.c4
-rw-r--r--src/xsane-preferences.c2
-rw-r--r--src/xsane-preferences.h2
-rw-r--r--src/xsane-save.c306
-rw-r--r--src/xsane-save.h15
-rw-r--r--src/xsane-scan.c42
-rw-r--r--src/xsane-setup.c15
-rw-r--r--src/xsane-text.h2
-rw-r--r--src/xsane.h3
-rw-r--r--xsane.CHANGES13
-rw-r--r--xsane.CHANGES~2962
-rw-r--r--xsane.spec2
85 files changed, 3519 insertions, 246 deletions
diff --git a/ICM.TODO b/ICM.TODO
index 70b4c6d..0999739 100644
--- a/ICM.TODO
+++ b/ICM.TODO
@@ -4,4 +4,4 @@
- add support for 16bits/sample PDF files
- reduce to 8 bits/sample after color conversion for all image formats
- add support for grayscale postscript files
-
+- use active_icm_profile
diff --git a/configure b/configure
index 88b872b..16573e5 100755
--- a/configure
+++ b/configure
@@ -1322,7 +1322,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# version code:
V_MAJOR=0
-V_MINOR=993
+V_MINOR=994
PACKAGE=xsane
diff --git a/configure.in b/configure.in
index 622cc70..4f6fa0d 100644
--- a/configure.in
+++ b/configure.in
@@ -6,7 +6,7 @@ AC_CONFIG_HEADER(include/config.h)
# version code:
V_MAJOR=0
-V_MINOR=993
+V_MINOR=994
PACKAGE=xsane
diff --git a/doc/sane-xsane-color-correction-doc.html b/doc/sane-xsane-color-correction-doc.html
index f5b7567..fe9e7ed 100644
--- a/doc/sane-xsane-color-correction-doc.html
+++ b/doc/sane-xsane-color-correction-doc.html
@@ -126,7 +126,9 @@
<td VALIGN=TOP BGCOLOR="#FFFFFF">
<br>
-<center><img SRC="xsane-color-correction.jpg" alt="XSane-main-window"></center>
+<center><img SRC="xsane-color-correction.jpg" alt="XSane-main-window">
+<img SRC="xsane-color-correction-rgb-default.jpg" alt="XSane-main-windowRGB-default">
+</center>
<br>
<br>
<blockquote>
diff --git a/doc/sane-xsane-color-management-doc.html b/doc/sane-xsane-color-management-doc.html
index c18f61a..92ac47e 100644
--- a/doc/sane-xsane-color-management-doc.html
+++ b/doc/sane-xsane-color-management-doc.html
@@ -178,7 +178,7 @@ There are three different functions available when color management is enabled:
</ul>
Usage:
<ul>
- <li>image archieve, image manipulation with all color corrections,
+ <li>image archive, image manipulation with all color corrections,
professional printing</li>
</ul>
<br>
@@ -229,7 +229,7 @@ There are three different functions available when color management is enabled:
</ul>
Usage:
<ul>
- <li>image archieve, image manipulation with (may be limited) color correction,
+ <li>image archive, image manipulation with (may be limited) color correction,
professional printing</li>
</ul>
<p>
diff --git a/doc/sane-xsane-doc.html b/doc/sane-xsane-doc.html
index 89b5d46..2481be3 100644
--- a/doc/sane-xsane-doc.html
+++ b/doc/sane-xsane-doc.html
@@ -168,6 +168,7 @@ correct or you may not be able to take full advantage of all functions if you do
<li><a href="sane-xsane-setup-image-doc.html">Image setup</a></li>
<li><a href="sane-xsane-setup-mail-doc.html">Mail setup</a></li>
<li><a href="sane-xsane-setup-save-doc.html">Saving setup</a></li>
+<li><a href="sane-xsane-setup-color-management-doc.html">Color management setup</a></li>
</ul>
</blockquote>
diff --git a/doc/sane-xsane-setup-color-management-doc.html b/doc/sane-xsane-setup-color-management-doc.html
index 81549fc..5371a1c 100644
--- a/doc/sane-xsane-setup-color-management-doc.html
+++ b/doc/sane-xsane-setup-color-management-doc.html
@@ -148,13 +148,13 @@ for the viewer.
</blockquote>
<br>
-<h4>Scanner reflektive ICM profile:</h4>
+<h4>Scanner default ICM profile:</h4>
<blockquote>
Select scanner color ICM profile. This is the most important profile because this is the one that is generally used.
</blockquote>
<br>
-<h4>Scanner reflektive gray ICM profile:</h4>
+<h4>Scanner default gray ICM profile:</h4>
<blockquote>
Select scanner grayscale ICM profile.
</blockquote>
@@ -169,7 +169,7 @@ a profile for your display then you can select sRGB what should produce usable o
<h4>Custom proofing ICM profile:</h4>
<blockquote>
-When you want to do proofing for an output device that is not defined as printer in the printer setup
+When you want to do proofing for an output device that is not defined as printer in the copy setup
then you can select the ICM profile of this device here.
</blockquote>
<br>
diff --git a/doc/sane-xsane-setup-copy-doc.html b/doc/sane-xsane-setup-copy-doc.html
index 9d5f1e1..5cd58cb 100644
--- a/doc/sane-xsane-setup-copy-doc.html
+++ b/doc/sane-xsane-setup-copy-doc.html
@@ -180,6 +180,39 @@ is used for grayscale and as common value for color mode. The
red, green and blue values are for color correction.
</blockquote>
+<h4>Printer ICM profile:</h4>
+<blockquote>
+Select the printer ICM profile. This profile is used for proofing and for printing!
+</blockquote>
+
+<h4>Embed scanner ICM profile as CSA:</h4>
+<blockquote>
+Embed the scanner ICM profile into the posctscript file (as Color Space Array).
+When you have a postscript printer then you should enable this option. In this case
+the scanner does the color transformation.<br>
+When disabled the color transformation is done by xsane.
+</blockquote>
+
+<h4>Embed printer ICM profile as CRD:</h4>
+<blockquote>
+Embed the printer ICM profile into the posctscript file (as Color Rendering Device).
+When you have a postscript printer then you should try to disable this option - a good postscript
+printer should know its own CRD.<br>
+When you use ghostscript or an other rendering software then it is possible that the
+rendering software does not know the ICM profile of the printer. In this case (or when your
+postscript printer does not know its CRD) you have to enable
+this option. When enabled then the printer ICM profile is embedded into the postscript file.<br>
+When disabled the color transformation is done by xsane.<br>
+When <i>embed scanner ICM profile as CSA</i> is disabled then <i>embed printer ICM profile as CRD</i>
+has no function because the color transformation is done by xsane.
+</blockquote>
+
+<h4>Apply black point compensation:</h4>
+<blockquote>
+ When transformation is done then apply black point compensation. When CSA/CRD is embedded
+ then prepare embedded data for black point compensation.
+</blockquote>
+
</blockquote>
</td>
diff --git a/doc/xsane-color-correction-rgb-default.jpg b/doc/xsane-color-correction-rgb-default.jpg
new file mode 100644
index 0000000..0f1ae76
--- /dev/null
+++ b/doc/xsane-color-correction-rgb-default.jpg
Binary files differ
diff --git a/doc/xsane-color-correction.jpg b/doc/xsane-color-correction.jpg
index cc36b49..efe1428 100644
--- a/doc/xsane-color-correction.jpg
+++ b/doc/xsane-color-correction.jpg
Binary files differ
diff --git a/doc/xsane-copy.jpg b/doc/xsane-copy.jpg
index de7d3a9..fa6f3c4 100644
--- a/doc/xsane-copy.jpg
+++ b/doc/xsane-copy.jpg
Binary files differ
diff --git a/doc/xsane-email-project.jpg b/doc/xsane-email-project.jpg
index 95dc81d..41aef98 100644
--- a/doc/xsane-email-project.jpg
+++ b/doc/xsane-email-project.jpg
Binary files differ
diff --git a/doc/xsane-email.jpg b/doc/xsane-email.jpg
index 6b49349..c951cb2 100644
--- a/doc/xsane-email.jpg
+++ b/doc/xsane-email.jpg
Binary files differ
diff --git a/doc/xsane-enable-color-management.jpg b/doc/xsane-enable-color-management.jpg
index cebd521..31ef4c3 100644
--- a/doc/xsane-enable-color-management.jpg
+++ b/doc/xsane-enable-color-management.jpg
Binary files differ
diff --git a/doc/xsane-fax-project.jpg b/doc/xsane-fax-project.jpg
index 53a30fa..c11239e 100644
--- a/doc/xsane-fax-project.jpg
+++ b/doc/xsane-fax-project.jpg
Binary files differ
diff --git a/doc/xsane-fax.jpg b/doc/xsane-fax.jpg
index 0fc3f5f..f27917b 100644
--- a/doc/xsane-fax.jpg
+++ b/doc/xsane-fax.jpg
Binary files differ
diff --git a/doc/xsane-gimp.jpg b/doc/xsane-gimp.jpg
index 1e27f12..e8482c4 100644
--- a/doc/xsane-gimp.jpg
+++ b/doc/xsane-gimp.jpg
Binary files differ
diff --git a/doc/xsane-multipage-project.jpg b/doc/xsane-multipage-project.jpg
index c5a65f3..796e7f0 100644
--- a/doc/xsane-multipage-project.jpg
+++ b/doc/xsane-multipage-project.jpg
Binary files differ
diff --git a/doc/xsane-multipage.jpg b/doc/xsane-multipage.jpg
index bd8cd7b..dd987d5 100644
--- a/doc/xsane-multipage.jpg
+++ b/doc/xsane-multipage.jpg
Binary files differ
diff --git a/doc/xsane-preferences.jpg b/doc/xsane-preferences.jpg
index 53ff132..f17a087 100644
--- a/doc/xsane-preferences.jpg
+++ b/doc/xsane-preferences.jpg
Binary files differ
diff --git a/doc/xsane-save.jpg b/doc/xsane-save.jpg
index ff22036..b54be00 100644
--- a/doc/xsane-save.jpg
+++ b/doc/xsane-save.jpg
Binary files differ
diff --git a/doc/xsane-setup-copy.jpg b/doc/xsane-setup-copy.jpg
index 28e551a..58c45d8 100644
--- a/doc/xsane-setup-copy.jpg
+++ b/doc/xsane-setup-copy.jpg
Binary files differ
diff --git a/doc/xsane-viewer.jpg b/doc/xsane-viewer.jpg
index edf6cc1..0f1ae76 100644
--- a/doc/xsane-viewer.jpg
+++ b/doc/xsane-viewer.jpg
Binary files differ
diff --git a/include/config.h b/include/config.h
index a5f9313..cf0c556 100644
--- a/include/config.h
+++ b/include/config.h
@@ -99,10 +99,10 @@
#define PACKAGE "xsane"
/* Define to the version of the distribution. */
-#define VERSION "0.993"
+#define VERSION "0.994"
/* The concatenation of the strings PACKAGE, "-", and VERSION. */
-#define XSANE_PACKAGE_VERSION "xsane-0.993"
+#define XSANE_PACKAGE_VERSION "xsane-0.994"
/* Define if you have the __argz_count function. */
#define HAVE___ARGZ_COUNT 1
diff --git a/po/ca.gmo b/po/ca.gmo
index e52c693..7253b77 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index d01ac9a..6fae228 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSane 0.991\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2006-03-02 03:35+0100\n"
"Last-Translator: Raül Cambeiro <raulcambeiro@ambtu.bcn.es>\n"
"Language-Team: \n"
@@ -948,6 +948,10 @@ msgstr "Elimina la impressora"
msgid "Embed printer ICM profile as CRD"
msgstr "Elimina la impressora"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1989,6 +1993,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
#, fuzzy
msgid ""
diff --git a/po/cs.gmo b/po/cs.gmo
index 760b8ea..f0985d0 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index b402dda..ece2f80 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.99\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2005-12-31 16:09+0100\n"
"Last-Translator: Stanislav Brabec <utx@penguin.cz>\n"
"Language-Team: Czech <cs@li.org>\n"
@@ -945,6 +945,10 @@ msgstr "Odebrat tiskárnu"
msgid "Embed printer ICM profile as CRD"
msgstr "Odebrat tiskárnu"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Vytvořit zlib komprimovaný postscript (ps level 3) pro tisk"
@@ -1977,6 +1981,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
#, fuzzy
msgid ""
diff --git a/po/da.gmo b/po/da.gmo
index a7aa714..a667dfa 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index a6543e1..1ec4a68 100644
--- a/po/da.po
+++ b/po/da.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.99\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2005-12-31 04:36+0100\n"
"Last-Translator: Mogens Jaeger <mogensjaeger@get2net.dk>\n"
"Language-Team: Danish <dansk@klid.dk>\n"
@@ -948,6 +948,10 @@ msgstr "Slet printer"
msgid "Embed printer ICM profile as CRD"
msgstr "Slet printer"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Dan zlib-komprimeret postscript-billede (ps level 3) til udskrivning"
@@ -1979,6 +1983,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
#, fuzzy
msgid ""
diff --git a/po/de.gmo b/po/de.gmo
index dc045f7..5ba0538 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index ab36370..719009c 100644
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.99\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2000-01-21 15:51+01:00\n"
"Last-Translator: Oliver Rauch <Oliver.Rauch@rauch-domain.de>\n"
"Language-Team: German <de@li.org>\n"
@@ -812,6 +812,7 @@ msgid "Medium Name:"
msgstr "Medium Name:"
#. TEXT_VIEWER_IMAGE_INFO
+#, c-format
msgid ""
"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
"1.1f %s"
@@ -932,6 +933,10 @@ msgstr "Scanner/Quell-ICM-Profil als CSA einbinden"
msgid "Embed printer ICM profile as CRD"
msgstr "ICM Profil für Drucker als CRD einbinden"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr "Schwarzpunktkompensation anwenden"
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Erzeuge zlib-komprimiertes Posctscript Bild (ps level 3) zum Drucken"
@@ -1944,6 +1949,10 @@ msgstr "Erzeugt eine Postscriptdatei die das ICM-Profil des Scammers enthält"
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr "Erzeugt eine Postscriptdatei die das ICM-Profil des Druckers enthält"
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr "Schwarzpunkt kompensieren"
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
@@ -3196,4 +3205,3 @@ msgstr "Kein Speicher"
msgid "Access to resource has been denied"
msgstr "Zugang zum Gerät wurde verweigert"
-
diff --git a/po/de.po~ b/po/de.po~
index 5071eb4..8bf8dc9 100644
--- a/po/de.po~
+++ b/po/de.po~
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.99\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2000-01-21 15:51+01:00\n"
"Last-Translator: Oliver Rauch <Oliver.Rauch@rauch-domain.de>\n"
"Language-Team: German <de@li.org>\n"
@@ -210,14 +210,12 @@ msgid "No devices available"
msgstr "Keine Geräte erreichbar"
#. WINDOW_SCANNER_DEFAULT_COLOR_ICM_PROFILE
-#, fuzzy
msgid "select scanner default color ICM-profile"
-msgstr "reflektives ICM-Profil für Scanner auswählen"
+msgstr "standard Farb-ICM-Profil für Scanner auswählen"
#. WINDOW_SCANNER_DEFAULT_GRAY_ICM_PROFILE
-#, fuzzy
msgid "select scanner default gray ICM-profile"
-msgstr "reflektives Graustufen ICM-Profil für Scanner auswählen"
+msgstr "standard Graustufen-ICM-Profil für Scanner auswählen"
#. WINDOW_DISPLAY_ICM_PROFILE
msgid "select display ICM-profile"
@@ -638,13 +636,12 @@ msgid "16 bit output formats:"
msgstr "16 Bit Ausgabeformate:"
#. TEXT_REDUCE_16BIT_TO_8BIT
-#, fuzzy
msgid ""
"Bit depth 16 bits/channel is not supported for this output format.\n"
"Do you want to reduce the depth to 8 bits/channel?"
msgstr ""
-"Die Bittiefe 16Bits/Farbe wird von diesem Ausgabeformat nicht unterstützt.\n"
-"Möchten Sie die Bittiefe auf 8 Bits/Farbe reduzieren?"
+"Die Bittiefe 16Bits/Kanal wird von diesem Ausgabeformat nicht unterstützt.\n"
+"Möchten Sie die Bittiefe auf 8 Bits/Kanal reduzieren?"
#. TEXT_AUTHORIZATION_REQ
msgid "Authorization required for"
@@ -815,12 +812,12 @@ msgid "Medium Name:"
msgstr "Medium Name:"
#. TEXT_VIEWER_IMAGE_INFO
-#, fuzzy, c-format
+#, c-format
msgid ""
"Size %d x %d pixel, %d bits/channel, %d channels, %1.0f dpi x %1.0f dpi, %"
"1.1f %s"
msgstr ""
-"Größe %d x %d Punkte, %d Bit/Farbe, %d Farben, %1.0f dpi x %1.0f dpi, %1.1f %"
+"Größe %d x %d Punkte, %d Bit/Kanal, %d Kanäle, %1.0f dpi x %1.0f dpi, %1.1f %"
"s"
#. TEXT_DESPECKLE_RADIUS
@@ -936,6 +933,11 @@ msgstr "Scanner/Quell-ICM-Profil als CSA einbinden"
msgid "Embed printer ICM profile as CRD"
msgstr "ICM Profil für Drucker als CRD einbinden"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+#, fuzzy
+msgid "Apply black point compensation"
+msgstr "Schwarzpunkt kompensieren"
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Erzeuge zlib-komprimiertes Posctscript Bild (ps level 3) zum Drucken"
@@ -1138,15 +1140,13 @@ msgstr "Alle"
#. TEXT_SETUP_SCANNER_DEFAULT_COLOR_ICM_PROFILE
#. DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE
-#, fuzzy
msgid "Scanner default color ICM-profile"
-msgstr "Scanner reflektives Graustufen ICM-Profil"
+msgstr "Standard Scanner Farb-ICM-Profil"
#. TEXT_SETUP_SCANNER_DEFAULT_GRAY_ICM_PROFILE
#. DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE
-#, fuzzy
msgid "Scanner default gray ICM-profile"
-msgstr "Scanner reflektives Graustufen ICM-Profil"
+msgstr "Standard Scanner Graustufen ICM-Profil"
#. TEXT_SETUP_DISPLAY_ICM_PROFILE
#. DESC_DISPLAY_ICM_PROFILE
@@ -1950,6 +1950,11 @@ msgstr "Erzeugt eine Postscriptdatei die das ICM-Profil des Scammers enthält"
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr "Erzeugt eine Postscriptdatei die das ICM-Profil des Druckers enthält"
+#. DESC_PRINTER_CMS_BPC
+#, fuzzy
+msgid "Applies black point compensation"
+msgstr "Schwarzpunkt kompensieren"
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
@@ -2040,12 +2045,11 @@ msgstr ""
"aber die Dateien werden sehr groß!!!"
#. DESC_REDUCE_16BIT_TO_8BIT
-#, fuzzy
msgid ""
"If scanner sends image with 16 bits/channel save image with 8 bits/channel"
msgstr ""
-"Wenn der Scanner das Bild mit 16 Bits/Farbe liefert wird das Bild mit 8 Bits/"
-"Farbe gespeichert"
+"Wenn der Scanner das Bild mit 16 Bits/Kanal liefert wird das Bild mit 8 Bits/"
+"Kanal gespeichert"
#. DESC_PSFILE_WIDTH
msgid "Width of paper for postscript files"
@@ -2470,14 +2474,12 @@ msgid "Turns on automatic mode"
msgstr "Schaltet automatische Einstellung ein"
#. DESC_BUTTON_SCANNER_DEFAULT_COLOR_ICM_PROFILE_BROWSE
-#, fuzzy
msgid "Browse for scanner default color ICM-profile"
-msgstr "Suche nach Scanner reflektivem ICM-Profil"
+msgstr "Suche nach standard Scanner Farb-ICM-Profil"
#. DESC_BUTTON_SCANNER_DEFAULT_GRAY_ICM_PROFILE_BROWSE
-#, fuzzy
msgid "Browse for scanner default gray ICM-profile"
-msgstr "Suche nach Scanner reflektivem Graustufen ICM-Profil"
+msgstr "Suche nach standard Scanner Graustufen-ICM-Profil"
#. DESC_BUTTON_DISPLAY_ICM_PROFILE_BROWSE
msgid "Browse for display ICM-profile"
@@ -2795,9 +2797,8 @@ msgid "Could not open"
msgstr "Fehler beim Öffnen von"
#. CMS_SCANNER_ICM
-#, fuzzy
msgid "scanner ICM profile"
-msgstr "Scanner ICM-Profil einbinden"
+msgstr "Scanner ICM-Profil"
#. CMS_DISPLAY_ICM
msgid "display ICM profile"
@@ -3206,39 +3207,3 @@ msgstr "Kein Speicher"
msgid "Access to resource has been denied"
msgstr "Zugang zum Gerät wurde verweigert"
-
-#~ msgid "select scanner transmissive ICM-profile"
-#~ msgstr "Durchsicht-ICM-Profil für Scanner auswählen"
-
-#~ msgid "select scanner transmissive gray ICM-profile"
-#~ msgstr "Durchsicht Graustufen ICM-Profil für Scanner auswählen"
-
-#~ msgid "Scanner reflective ICM-profile"
-#~ msgstr "Scanner reflektives ICM-Profil"
-
-#~ msgid "Scanner reflective gray ICM-profile"
-#~ msgstr "Scanner reflektives Graustufen ICM-Profil"
-
-#~ msgid "Scanner transmissive ICM-profile"
-#~ msgstr "Scanner Durchsicht ICM-Profil"
-
-#~ msgid "Scanner transmissive gray ICM-profile"
-#~ msgstr "Scanner Durchsicht Graustufen ICM-Profil"
-
-#~ msgid "Scanner reflektive ICM-profile"
-#~ msgstr "Scanner reflektives ICM-Profil"
-
-#~ msgid "Browse for scanner transmissive ICM-profile"
-#~ msgstr "Suche nach Scanner Durchsicht-ICM-Profil"
-
-#~ msgid "Browse for scanner transmissive gray ICM-profile"
-#~ msgstr "Suche nach Scanner Durchsicht Graustufen ICM-Profil"
-
-#~ msgid "GIMP can't handle depth %d bits/color"
-#~ msgstr "GIMP unterstützt Bittiefe %d Bits/Farbe nicht"
-
-#~ msgid "scanner transmissive ICM profile"
-#~ msgstr "Scanner Durchsicht-ICM-Profil"
-
-#~ msgid "scanner reflective ICM profile"
-#~ msgstr "Scanner reflektives ICM-Profil"
diff --git a/po/es.gmo b/po/es.gmo
index 442ae5a..d32ccf3 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 7271165..fb52b85 100644
--- a/po/es.po
+++ b/po/es.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2004-08-22 19:15GMT\n"
"Last-Translator: Gustavo D. Vranjes <gvranjes@SoftHome.net>\n"
"Language-Team: Castellano <es@li.org>\n"
@@ -962,6 +962,10 @@ msgstr "Borrar impresora"
msgid "Embed printer ICM profile as CRD"
msgstr "Borrar impresora"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -2013,6 +2017,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/po/fr.gmo b/po/fr.gmo
index 9731c9a..b0e9f2a 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index a6b46bb..e041d59 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2000-02-09 21:00+01:00\n"
"Last-Translator: Laurent Grawet <laurent.grawet@ibelgique.com>\n"
"Language-Team: French <fr@li.org>\n"
@@ -958,6 +958,10 @@ msgstr "Enlever une imprimante"
msgid "Embed printer ICM profile as CRD"
msgstr "Enlever une imprimante"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -2007,6 +2011,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/po/hu.gmo b/po/hu.gmo
index 2e4f737..3ff9b7b 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 6b6bf7c..bfacdf7 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: hu\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2005-12-31 10:34+0100\n"
"Last-Translator: Aron Novak <aaron@szentimre.hu>\n"
"Language-Team: Hungarian\n"
@@ -943,6 +943,10 @@ msgstr "Nyomtató törlése"
msgid "Embed printer ICM profile as CRD"
msgstr "Nyomtató törlése"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Zlibbel tömörített postscript létrehozása nyomtatáshoz (ps level 3)"
@@ -1974,6 +1978,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
#, fuzzy
msgid ""
diff --git a/po/it.gmo b/po/it.gmo
index a8fa024..38e6d15 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 575f0ed..8866200 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: xsane-0.99_it\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2006-01-09 21:47+0100\n"
"Last-Translator: Kostantino <ciclope10ATalice.it>\n"
"Language-Team: Italiano <tp@lists.linux.it>\n"
@@ -948,6 +948,10 @@ msgstr "Cancella stampante"
msgid "Embed printer ICM profile as CRD"
msgstr "Cancella stampante"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1987,6 +1991,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
#, fuzzy
msgid ""
diff --git a/po/ja.gmo b/po/ja.gmo
index 4679c2d..53e9b63 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 379e205..9d6aec9 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2004-08-28 12:48+900\n"
"Last-Translator: Kimizuka Tomokazu <sgtom@pluto.dti.ne.jp>\n"
"Language-Team: Japanese\n"
@@ -955,6 +955,10 @@ msgstr "プリンタ削除"
msgid "Embed printer ICM profile as CRD"
msgstr "プリンタ削除"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1996,6 +2000,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/po/nl.gmo b/po/nl.gmo
index 58e04f8..4e6691d 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 332e550..173fbe6 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2005-12-22 09:00+0100\n"
"Last-Translator: Wim Sinke <rietenmeubel@xs4all.nl>\n"
"Language-Team: Dutch <nl@li.org>\n"
@@ -954,6 +954,10 @@ msgstr "Printer verwijderen"
msgid "Embed printer ICM profile as CRD"
msgstr "Printer verwijderen"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Maak zlib gecomprimeerd PostScript (level 3) plaatje voor printen"
@@ -1987,6 +1991,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
#, fuzzy
msgid ""
diff --git a/po/pl.gmo b/po/pl.gmo
index 0c7f9c3..a455892 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 2b7e01c..c3c7c2c 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2005-12-22 01:26+0100\n"
"Last-Translator: Jerzy Szczudlowski <jerzy@jedwab.net.pl>\n"
"Language-Team: polski <pl@li.org>\n"
@@ -953,6 +953,10 @@ msgstr "Usuń drukarkę"
msgid "Embed printer ICM profile as CRD"
msgstr "Usuń drukarkę"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Stwórz obraz Postscript skompresowany zlib (poziom PS 3) do druku"
@@ -1992,6 +1996,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
#, fuzzy
msgid ""
diff --git a/po/pt.gmo b/po/pt.gmo
index fef2009..e226187 100644
--- a/po/pt.gmo
+++ b/po/pt.gmo
Binary files differ
diff --git a/po/pt.po b/po/pt.po
index bafafca..1d3e6ee 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2004-10-08 22:00+3\n"
"Last-Translator: Yujo Rodrigues <yujo@comp.ufu.br>\n"
"Language-Team: Portuguese <pt@li.org>\n"
@@ -958,6 +958,10 @@ msgstr "Excluir impressora"
msgid "Embed printer ICM profile as CRD"
msgstr "Excluir impressora"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -2005,6 +2009,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 3ddc0fb..306f315 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index fc55403..a4489d2 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2004-10-08 22:00+3\n"
"Last-Translator: Yujo Rodrigues <yujo@comp.ufu.br>\n"
"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
@@ -958,6 +958,10 @@ msgstr "Excluir impressora"
msgid "Embed printer ICM profile as CRD"
msgstr "Excluir impressora"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -2005,6 +2009,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/po/ro.gmo b/po/ro.gmo
index 2963a7c..c7e1151 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index f2599ba..2d13acf 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2004-08-27 19:55+0300\n"
"Last-Translator: \n"
"Language-Team: <C@li.org>\n"
@@ -961,6 +961,10 @@ msgstr "Şterge imprimantă"
msgid "Embed printer ICM profile as CRD"
msgstr "Şterge imprimantă"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -2008,6 +2012,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/po/ru.gmo b/po/ru.gmo
index b72f280..a830288 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 266ef52..ace6ef9 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.99\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2005-12-31 15:46+0300\n"
"Last-Translator: Vitaly Lipatov <lav@etersoft.ru>\n"
"Language-Team: Russian <ru@li.org>\n"
@@ -950,6 +950,10 @@ msgstr "Удалить описание принтера"
msgid "Embed printer ICM profile as CRD"
msgstr "Удалить описание принтера"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Создать Postscript (level 3) для печати, сжатый zlib"
@@ -1986,6 +1990,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
#, fuzzy
msgid ""
diff --git a/po/sk.gmo b/po/sk.gmo
index 23600b1..d447323 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 240f768..ad0b714 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: xsane\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2005-11-01 18:58+0100\n"
"Last-Translator: \n"
"Language-Team: <sk@li.org>\n"
@@ -962,6 +962,10 @@ msgstr "Zmazať tlačiareň"
msgid "Embed printer ICM profile as CRD"
msgstr "Zmazať tlačiareň"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -2018,6 +2022,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/po/sl.gmo b/po/sl.gmo
index e668583..061902c 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 2875b8c..4e3f10b 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: xsane\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2006-01-02 17:48+0100\n"
"Last-Translator: Dušan Vejnovič <dusan@vejnovic.com>\n"
"Language-Team: slovenščina <sl@li.org>\n"
@@ -948,6 +948,10 @@ msgstr "Odstrani tiskalnik"
msgid "Embed printer ICM profile as CRD"
msgstr "Odstrani tiskalnik"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr "Ustvari stisnjeno postscriptno sliko z zlib (ps stopnja 3) za tiskanje"
@@ -1977,6 +1981,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
#, fuzzy
msgid ""
diff --git a/po/sr.gmo b/po/sr.gmo
index 5344ce9..a4f11f9 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index c44a9de..60b017b 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.76\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2002-01-17 00:47GMT\n"
"Last-Translator: Rusmir Duško <drusmir@gmx.ch>\n"
"Language-Team: srpski <sr@li.org>\n"
@@ -960,6 +960,10 @@ msgstr "Odstrani štampač"
msgid "Embed printer ICM profile as CRD"
msgstr "Odstrani štampač"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -2011,6 +2015,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/po/sv.gmo b/po/sv.gmo
index eaef125..0ea97fd 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 45cc9b0..2c0fe9c 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.92\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2003-08-03 14:12+01:00\n"
"Last-Translator: Johan Bengtsson <jb@goteborg.bostream.se>\n"
"Language-Team: LANGUAGE <sv@li.org>\n"
@@ -963,6 +963,10 @@ msgstr "Ta bort skrivare"
msgid "Embed printer ICM profile as CRD"
msgstr "Ta bort skrivare"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -2009,6 +2013,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/po/tr.gmo b/po/tr.gmo
index 06111d8..f2cabf5 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index af0dd87..c1ade91 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: xsane_tr\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2005-12-22 10:01+0100\n"
"Last-Translator: Togan Muftuoglu <toganm@yahoo.com>\n"
"Language-Team: Turkish <kde-i18n-tr@kde.org>\n"
@@ -948,6 +948,10 @@ msgstr "Yazıcı sil"
msgid "Embed printer ICM profile as CRD"
msgstr "Yazıcı sil"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1985,6 +1989,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
#, fuzzy
msgid ""
diff --git a/po/vi.gmo b/po/vi.gmo
index ae254b1..fcf1493 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 51cbea8..dc74e93 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2004-08-26 23:33+0700\n"
"Last-Translator: Trinh Minh Thanh <tmthanh@yahoo.com>\n"
"Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
@@ -974,6 +974,10 @@ msgstr "Xóa máy in"
msgid "Embed printer ICM profile as CRD"
msgstr "Xóa máy in"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -2026,6 +2030,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/po/xsane.pot b/po/xsane.pot
index f7a2823..15d52ea 100644
--- a/po/xsane.pot
+++ b/po/xsane.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -908,6 +908,10 @@ msgstr ""
msgid "Embed printer ICM profile as CRD"
msgstr ""
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1895,6 +1899,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/po/zh.gmo b/po/zh.gmo
index f7f565a..e860af8 100644
--- a/po/zh.gmo
+++ b/po/zh.gmo
Binary files differ
diff --git a/po/zh.po b/po/zh.po
index cbc1cee..faf6afa 100644
--- a/po/zh.po
+++ b/po/zh.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.96\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2003-03-27 12:00+0100\n"
"Last-Translator: Wang leolarrel <leolarrel@yahoo.com.tw>\n"
"Language-Team: zh_TW<zh_TW@li.org>\n"
@@ -945,6 +945,10 @@ msgstr "刪除列表機"
msgid "Embed printer ICM profile as CRD"
msgstr "刪除列表機"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1979,6 +1983,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 71d1b5f..5880d10 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 1729b47..e5e54d4 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XSANE 0.991\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-02-25 23:44+0100\n"
+"POT-Creation-Date: 2007-03-03 10:10+0100\n"
"PO-Revision-Date: 2003-03-27 12:00+0100\n"
"Last-Translator: gnome-cn@gmail.com\n"
"Language-Team: zh_CN\n"
@@ -933,6 +933,10 @@ msgstr "删除列表机"
msgid "Embed printer ICM profile as CRD"
msgstr "删除列表机"
+#. TEXT_SETUP_PRINTER_CMS_BPC
+msgid "Apply black point compensation"
+msgstr ""
+
#. TEXT_SETUP_PRINTER_PS_FLATEDECODED
msgid "Create zlib compressed postscript image (ps level 3) for printing"
msgstr ""
@@ -1954,6 +1958,10 @@ msgstr ""
msgid "Creates a postsciptfile that contains the ICM profile of the printer"
msgstr ""
+#. DESC_PRINTER_CMS_BPC
+msgid "Applies black point compensation"
+msgstr ""
+
#. DESC_PRINTER_PS_FLATEDECODED
msgid ""
"Create zlib compressed postscript image for printer (flatedecode).\n"
diff --git a/src/xsane-device-preferences.c b/src/xsane-device-preferences.c
index 41293e6..ce05cae 100644
--- a/src/xsane-device-preferences.c
+++ b/src/xsane-device-preferences.c
@@ -440,7 +440,10 @@ void xsane_device_preferences_load_file(char *filename)
xsane.negative = 0;
xsane.show_preview = 1;
+ xsane.enable_color_management = 0;
+
fd = open(filename, O_RDONLY);
+
if (fd >= 0)
{
/* prepare wire */
@@ -562,6 +565,17 @@ void xsane_device_preferences_load_file(char *filename)
}
}
}
+
+ if (!xsane.scanner_default_color_icm_profile)
+ {
+ xsane.scanner_default_color_icm_profile = strdup("");
+ }
+
+ if (!xsane.scanner_default_gray_icm_profile)
+ {
+ xsane.scanner_default_gray_icm_profile = strdup("");
+ }
+
gtk_window_move(GTK_WINDOW(xsane.dialog), xsane.dialog_posx, xsane.dialog_posy);
gtk_window_set_default_size(GTK_WINDOW(xsane.dialog), xsane.dialog_width, xsane.dialog_height);
diff --git a/src/xsane-multipage-project.c b/src/xsane-multipage-project.c
index 3721faa..7d6a565 100644
--- a/src/xsane-multipage-project.c
+++ b/src/xsane-multipage-project.c
@@ -968,7 +968,7 @@ static void xsane_multipage_save_file()
if (output_format == XSANE_PS)
{
- xsane_save_ps_create_document_header(outfile, pages, preferences.save_ps_flatedecoded);
+ xsane_save_ps_create_document_header(outfile, pages, 0, 0, 72.0*9, 72.0*12, 0 /* portrait top left */, preferences.save_ps_flatedecoded);
}
else if (output_format == XSANE_PDF)
{
@@ -1088,7 +1088,7 @@ static void xsane_multipage_save_file()
imagefile, &image_info, imagewidth, imageheight,
0, 0, imagewidth, imageheight, 0 /* portrait top left */,
preferences.save_ps_flatedecoded,
- NULL /* hTransform */, 0 /* embed_scanner_icm_profile */,
+ NULL /* hTransform */, 0 /* embed_scanner_icm_profile */, 0 /* embed CSA */, NULL, /* CSA profile */ 0 /* intent */,
xsane.project_progress_bar, &cancel_save);
}
else if (output_format == XSANE_PDF)
diff --git a/src/xsane-preferences.c b/src/xsane-preferences.c
index 2705477..9747404 100644
--- a/src/xsane-preferences.c
+++ b/src/xsane-preferences.c
@@ -302,7 +302,7 @@ desc_printer[] =
{"printer-ps-flatedecoded", xsane_rc_pref_int, PRTOFFSET(ps_flatedecoded)},
{"printer-embed-csa", xsane_rc_pref_int, PRTOFFSET(embed_csa)},
{"printer-embed-crd", xsane_rc_pref_int, PRTOFFSET(embed_crd)},
- {"printer-bpc", xsane_rc_pref_int, PRTOFFSET(blackpointcompensation)}
+ {"printer-cms-bpc", xsane_rc_pref_int, PRTOFFSET(cms_bpc)}
};
/* --------------------------------------------------------------------- */
diff --git a/src/xsane-preferences.h b/src/xsane-preferences.h
index 916df37..228548e 100644
--- a/src/xsane-preferences.h
+++ b/src/xsane-preferences.h
@@ -52,7 +52,7 @@ typedef struct
int ps_flatedecoded; /* flatedecode (zlib compression), ps level 3 */
int embed_csa; /* CSA = scanner ICM profile for postscript files */
int embed_crd; /* CRD = printer ICM profile for postscript files */
- int blackpointcompensation; /* bpc */
+ int cms_bpc; /* bpc */
}
Preferences_printer_t;
diff --git a/src/xsane-save.c b/src/xsane-save.c
index cc5f934..0109a2c 100644
--- a/src/xsane-save.c
+++ b/src/xsane-save.c
@@ -2387,10 +2387,30 @@ int xsane_save_rotate_image(FILE *outfile, FILE *imagefile, Image_info *image_in
/* ---------------------------------------------------------------------------------------------------------------------- */
-void xsane_save_ps_create_document_header(FILE *outfile, int pages, int flatedecode)
+void xsane_save_ps_create_document_header(FILE *outfile, int pages,
+ int paper_left_margin, int paper_bottom_margin,
+ int paper_width, int paper_height,
+ int paper_orientation, int flatedecode)
{
+ int box_left, box_bottom, box_right, box_top;
+
DBG(DBG_proc, "xsane_save_ps_create_document_header\n");
+ if (paper_orientation >= 8) /* rotate with 90 degrees - landscape mode */
+ {
+ box_left = paper_width - paper_left_margin - paper_height;
+ box_bottom = paper_bottom_margin;
+ box_right = box_left + ceil(paper_height);
+ box_top = box_bottom + ceil(paper_width);
+ }
+ else /* do not rotate, portrait mode */
+ {
+ box_left = paper_left_margin;
+ box_bottom = paper_bottom_margin;
+ box_right = box_left + ceil(paper_width);
+ box_top = box_bottom + ceil(paper_height);
+ }
+
fprintf(outfile, "%%!PS-Adobe-3.0\n");
fprintf(outfile, "%%%%Creator: XSane version %s (sane %d.%d) - by Oliver Rauch\n", VERSION,
SANE_VERSION_MAJOR(xsane.sane_backend_versioncode),
@@ -2405,6 +2425,8 @@ void xsane_save_ps_create_document_header(FILE *outfile, int pages, int flatedec
fprintf(outfile, "%%%%LanguageLevel: 2\n");
}
+ fprintf(outfile, "%%%%BoundingBox: %d %d %d %d\n", box_left, box_bottom, box_right, box_top);
+
if (pages)
{
fprintf(outfile, "%%%%Pages: %d\n", pages);
@@ -2415,8 +2437,9 @@ void xsane_save_ps_create_document_header(FILE *outfile, int pages, int flatedec
}
fprintf(outfile, "%%%%EndComments\n");
+ fprintf(outfile, "%%%%BeginDocument: xsane.ps\n");
fprintf(outfile, "\n");
- fprintf(outfile, "/origstate save def\n");
+// fprintf(outfile, "/origstate save def\n");
fprintf(outfile, "20 dict begin\n");
}
@@ -2427,7 +2450,7 @@ void xsane_save_ps_create_document_trailer(FILE *outfile, int pages)
DBG(DBG_proc, "xsane_save_ps_create_document_trailer\n");
fprintf(outfile, "end\n");
- fprintf(outfile, "origstate restore\n");
+// fprintf(outfile, "origstate restore\n");
if (pages)
{
@@ -2436,102 +2459,21 @@ void xsane_save_ps_create_document_trailer(FILE *outfile, int pages)
}
fprintf(outfile, "%%%%EOF\n");
+ fprintf(outfile, "%%%%EndDocument\n");
fprintf(outfile, "\n");
}
/* ---------------------------------------------------------------------------------------------------------------------- */
-/* page = [1 .. pages] */
-static void xsane_save_ps_create_page_header(FILE *outfile, int page,
- Image_info *image_info,
- float width, float height,
- int paper_left_margin, int paper_bottom_margin,
- int paper_width, int paper_height,
- int paper_orientation, int flatedecode,
- GtkProgressBar *progress_bar)
+static void xsane_save_ps_create_image_header(FILE *outfile,
+ Image_info *image_info,
+ float width, float height,
+ int degree, int position_left, int position_bottom,
+ int box_left, int box_bottom, int box_right, int box_top,
+ int flatedecode)
{
- int degree, position_left, position_bottom, box_left, box_bottom, box_right, box_top, depth;
- int left, bottom;
-
- DBG(DBG_proc, "xsane_save_ps_create_page_header\n");
-
- switch (paper_orientation)
- {
- default:
- case 0: /* top left portrait */
- left = 0.0;
- bottom = paper_height - height;
- break;
-
- case 1: /* top right portrait */
- left = paper_width - width;
- bottom = paper_height - height;
- break;
-
- case 2: /* bottom right portrait */
- left = paper_width - width;
- bottom = 0.0;
- break;
-
- case 3: /* bottom left portrait */
- left = 0.0;
- bottom = 0.0;
- break;
-
- case 4: /* center portrait */
- left = paper_width / 2.0 - width / 2.0;
- bottom = paper_height / 2.0 - height / 2.0;
- break;
-
-
- case 8: /* top left landscape */
- left = 0.0;
- bottom = paper_width - height;
- break;
-
- case 9: /* top right landscape */
- left = paper_height - width;
- bottom = paper_width - height;
- break;
-
- case 10: /* bottom right landscape */
- left = paper_height - width;
- bottom = 0.0;
- break;
-
- case 11: /* bottom left landscape */
- left = 0.0;
- bottom = 0.0;
- break;
-
- case 12: /* center landscape */
- left = paper_height / 2.0 - width / 2.0;
- bottom = paper_width / 2.0 - height / 2.0;
- break;
- }
-
-
- if (paper_orientation >= 8) /* rotate with 90 degrees - landscape mode */
- {
- degree = 90;
- position_left = left + paper_bottom_margin;
- position_bottom = bottom - paper_width - paper_left_margin;
- box_left = paper_width - paper_left_margin - bottom - height;
- box_bottom = left + paper_bottom_margin;
- box_right = box_left + ceil(height);
- box_top = box_bottom + ceil(width);
- }
- else /* do not rotate, portrait mode */
- {
- degree = 0;
- position_left = left + paper_left_margin;
- position_bottom = bottom + paper_bottom_margin;
- box_left = left + paper_left_margin;
- box_bottom = bottom + paper_bottom_margin;
- box_right = box_left + ceil(width);
- box_top = box_bottom + ceil(height);
- }
+ int depth;
depth = image_info->depth;
@@ -2540,10 +2482,6 @@ static void xsane_save_ps_create_page_header(FILE *outfile, int page,
depth = 12;
}
- fprintf(outfile, "\n");
- fprintf(outfile, "%%%%Page: %d %d\n", page, page);
- fprintf(outfile, "%%%%PageBoundingBox: %d %d %d %d\n", box_left, box_bottom, box_right, box_top);
-
if (depth == 1)
{
fprintf(outfile, "/grays %d string def\n", image_info->image_width);
@@ -2554,12 +2492,20 @@ static void xsane_save_ps_create_page_header(FILE *outfile, int page,
fprintf(outfile, "%d rotate\n", degree);
fprintf(outfile, "%d %d translate\n", position_left, position_bottom);
fprintf(outfile, "%f %f scale\n", width, height);
+
fprintf(outfile, "<<\n");
fprintf(outfile, " /ImageType 1\n");
fprintf(outfile, " /Width %d\n", image_info->image_width);
fprintf(outfile, " /Height %d\n", image_info->image_height);
fprintf(outfile, " /BitsPerComponent %d\n", depth);
- fprintf(outfile, " /Decode [0 1 0 1 0 1]\n");
+ if (image_info->channels == 3)
+ {
+ fprintf(outfile, " /Decode [0 1 0 1 0 1]\n");
+ }
+ else
+ {
+ fprintf(outfile, " /Decode [0 1]\n");
+ }
fprintf(outfile, " /ImageMatrix [%d %d %d %d %d %d]\n", image_info->image_width, 0, 0, -image_info->image_height, 0, image_info->image_height);
fprintf(outfile, " /DataSource currentfile /ASCII85Decode filter");
#ifdef HAVE_LIBZ
@@ -3033,7 +2979,7 @@ static int xsane_write_CSA(FILE *outfile, char *input_profile, int intent)
/* ---------------------------------------------------------------------------------------------------------------------- */
-static int xsane_write_CRD(FILE *outfile, char *output_profile, int intent, int blackpointcompensation)
+static int xsane_write_CRD(FILE *outfile, char *output_profile, int intent, int cms_bpc)
{
cmsHPROFILE hProfile;
size_t n;
@@ -3046,7 +2992,7 @@ static int xsane_write_CRD(FILE *outfile, char *output_profile, int intent, int
return -1;
}
- if (blackpointcompensation)
+ if (cms_bpc)
{
flags |= cmsFLAGS_BLACKPOINTCOMPENSATION;
}
@@ -3128,10 +3074,12 @@ static int xsane_save_ps_pdf_bw(FILE *outfile, FILE *imagefile, Image_info *imag
ret = xsane_write_compressed_a85(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
}
}
+#ifdef HAVE_LIBZ
else if (flatedecode)
{
ret = xsane_write_flatedecode(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
}
+#endif
else
{
fwrite(line, bytes_per_line, 1, outfile);
@@ -3230,10 +3178,12 @@ static int xsane_save_ps_pdf_gray(FILE *outfile, FILE *imagefile, Image_info *im
ret = xsane_write_compressed_a85(outfile, line, image_info->image_width, (y == image_info->image_height - 1));
}
}
+#ifdef HAVE_LIBZ
else if (flatedecode)
{
ret = xsane_write_flatedecode(outfile, line, image_info->image_width, (y == image_info->image_height - 1));
}
+#endif
else
{
fwrite(line, image_info->image_width, 1, outfile);
@@ -3477,10 +3427,12 @@ static int xsane_save_ps_pdf_color(FILE *outfile, FILE *imagefile, Image_info *i
ret = xsane_write_compressed_a85(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
}
}
+#ifdef HAVE_LIBZ
else if (flatedecode)
{
ret = xsane_write_flatedecode(outfile, line, bytes_per_line, (y == image_info->image_height - 1));
}
+#endif
else
{
fwrite(line, bytes_per_line, 1, outfile);
@@ -3533,18 +3485,119 @@ static int xsane_save_ps_pdf_color(FILE *outfile, FILE *imagefile, Image_info *i
int xsane_save_ps_page(FILE *outfile, int page,
FILE *imagefile, Image_info *image_info, float width, float height,
- int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
+ int paper_left_margin, int paper_bottom_margin, int paper_width, int paper_height, int paper_orientation,
int flatedecode,
- cmsHTRANSFORM hTransform, int do_transform,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile, int embed_CSA, char *CSA_profile, int intent,
GtkProgressBar *progress_bar, int *cancel_save)
{
+ int degree, position_left, position_bottom, box_left, box_bottom, box_right, box_top;
+ int left, bottom;
+
DBG(DBG_proc, "xsane_save_ps_page\n");
- xsane_save_ps_create_page_header(outfile, page,
- image_info, width, height,
- paper_left_margin, paper_bottom_margin, paperwidth, paperheight, paper_orientation,
- flatedecode,
- progress_bar);
+ switch (paper_orientation)
+ {
+ default:
+ case 0: /* top left portrait */
+ left = 0.0;
+ bottom = paper_height - height;
+ break;
+
+ case 1: /* top right portrait */
+ left = paper_width - width;
+ bottom = paper_height - height;
+ break;
+
+ case 2: /* bottom right portrait */
+ left = paper_width - width;
+ bottom = 0.0;
+ break;
+
+ case 3: /* bottom left portrait */
+ left = 0.0;
+ bottom = 0.0;
+ break;
+
+ case 4: /* center portrait */
+ left = paper_width / 2.0 - width / 2.0;
+ bottom = paper_height / 2.0 - height / 2.0;
+ break;
+
+
+ case 8: /* top left landscape */
+ left = 0.0;
+ bottom = paper_width - height;
+ break;
+
+ case 9: /* top right landscape */
+ left = paper_height - width;
+ bottom = paper_width - height;
+ break;
+
+ case 10: /* bottom right landscape */
+ left = paper_height - width;
+ bottom = 0.0;
+ break;
+
+ case 11: /* bottom left landscape */
+ left = 0.0;
+ bottom = 0.0;
+ break;
+
+ case 12: /* center landscape */
+ left = paper_height / 2.0 - width / 2.0;
+ bottom = paper_width / 2.0 - height / 2.0;
+ break;
+ }
+
+
+ if (paper_orientation >= 8) /* rotate with 90 degrees - landscape mode */
+ {
+ degree = 90;
+ position_left = left + paper_bottom_margin;
+ position_bottom = bottom - paper_width - paper_left_margin;
+ box_left = paper_width - paper_left_margin - bottom - height;
+ box_bottom = left + paper_bottom_margin;
+ box_right = box_left + ceil(height);
+ box_top = box_bottom + ceil(width);
+ }
+ else /* do not rotate, portrait mode */
+ {
+ degree = 0;
+ position_left = left + paper_left_margin;
+ position_bottom = bottom + paper_bottom_margin;
+ box_left = left + paper_left_margin;
+ box_bottom = bottom + paper_bottom_margin;
+ box_right = box_left + ceil(width);
+ box_top = box_bottom + ceil(height);
+ }
+
+ fprintf(outfile, "\n");
+ fprintf(outfile, "%%%%Page: %d %d\n", page, page);
+ fprintf(outfile, "%%%%PageBoundingBox: %d %d %d %d\n", box_left, box_bottom, box_right, box_top);
+
+#ifdef HAVE_LIBLCMS
+ if ((apply_ICM_profile) && (embed_CSA))
+ {
+ xsane_write_CSA(outfile, CSA_profile, intent); /* write scanner profile to ps file */
+ }
+ else
+#endif
+ {
+ if (image_info->channels == 1) /* lineart, halftone, grayscale */
+ {
+ fprintf(outfile, "/DeviceGray setcolorspace\n");
+ }
+ else
+ {
+ fprintf(outfile, "/DeviceRGB setcolorspace\n");
+ }
+ }
+
+ xsane_save_ps_create_image_header(outfile, image_info, width, height,
+ degree, position_left, position_bottom,
+ box_left, box_bottom, box_right, box_top,
+ flatedecode);
if (image_info->channels == 1) /* lineart, halftone, grayscale */
{
@@ -3554,12 +3607,12 @@ int xsane_save_ps_page(FILE *outfile, int page,
}
else /* grayscale */
{
- xsane_save_ps_pdf_gray(outfile, imagefile, image_info, TRUE, flatedecode, hTransform, do_transform, progress_bar, cancel_save);
+ xsane_save_ps_pdf_gray(outfile, imagefile, image_info, TRUE, flatedecode, hTransform, apply_ICM_profile && (!embed_CSA), progress_bar, cancel_save);
}
}
else /* color RGB */
{
- xsane_save_ps_pdf_color(outfile, imagefile, image_info, TRUE, flatedecode, hTransform, do_transform, progress_bar, cancel_save);
+ xsane_save_ps_pdf_color(outfile, imagefile, image_info, TRUE, flatedecode, hTransform, apply_ICM_profile && (!embed_CSA), progress_bar, cancel_save);
}
xsane_save_ps_create_page_trailer(outfile);
@@ -3580,47 +3633,32 @@ int xsane_save_ps_page(FILE *outfile, int page,
/* ---------------------------------------------------------------------------------------------------------------------- */
int xsane_save_ps(FILE *outfile, FILE *imagefile, Image_info *image_info, float width, float height,
- int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
+ int paper_left_margin, int paper_bottom_margin, int paper_width, int paper_height, int paper_orientation,
int flatedecode,
cmsHTRANSFORM hTransform, int apply_ICM_profile, int embed_CSA, char *CSA_profile,
- int embed_CRD, char *CRD_profile, int blackpointcompensation, int intent,
+ int embed_CRD, char *CRD_profile, int cms_bpc, int intent,
GtkProgressBar *progress_bar, int *cancel_save)
{
DBG(DBG_proc, "xsane_save_ps\n");
*cancel_save = 0;
- xsane_save_ps_create_document_header(outfile, 1 /* pages */, flatedecode);
+ xsane_save_ps_create_document_header(outfile, 1 /* pages */, paper_left_margin, paper_bottom_margin, paper_width, paper_height, paper_orientation, flatedecode);
#ifdef HAVE_LIBLCMS
if ((apply_ICM_profile) && (embed_CRD))
{
- xsane_write_CRD(outfile, CRD_profile, intent, blackpointcompensation); /* write printer profile to ps file */
+ xsane_write_CRD(outfile, CRD_profile, intent, cms_bpc); /* write printer profile to ps file */
}
+#endif
- if ((apply_ICM_profile) && (embed_CSA))
- {
- xsane_write_CSA(outfile, CSA_profile, intent); /* write scanner profile to ps file */
- }
- else
-#endif
- {
- if (image_info->channels == 1) /* lineart, halftone, grayscale */
- {
- fprintf(outfile, "/DeviceGray setcolorspace\n");
- }
- else
- {
- fprintf(outfile, "/DeviceRGB setcolorspace\n");
- }
- }
xsane_save_ps_page(outfile, 1 /* page */,
imagefile, image_info, width, height,
- paper_left_margin, paper_bottom_margin, paperwidth, paperheight, paper_orientation,
+ paper_left_margin, paper_bottom_margin, paper_width, paper_height, paper_orientation,
flatedecode,
- hTransform, (apply_ICM_profile && (!embed_CSA) && (!embed_CRD)) /* do_transform */,
+ hTransform, apply_ICM_profile, embed_CSA, CSA_profile, intent,
progress_bar, cancel_save);
xsane_save_ps_create_document_trailer(outfile, 0 /* we defined pages at beginning */);
@@ -4020,7 +4058,7 @@ static void xsane_save_pdf_create_page_trailer(FILE *outfile, struct pdf_xref *x
int xsane_save_pdf_page(FILE *outfile, struct pdf_xref *xref, int page,
FILE *imagefile, Image_info *image_info, float width, float height,
- int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
+ int paper_left_margin, int paper_bottom_margin, int paper_width, int paper_height, int paper_orientation,
int flatedecode,
cmsHTRANSFORM hTransform, int do_transform, int icc_object,
GtkProgressBar *progress_bar, int *cancel_save)
@@ -4030,7 +4068,7 @@ int xsane_save_pdf_page(FILE *outfile, struct pdf_xref *xref, int page,
xsane_save_pdf_create_page_header(outfile, xref, page,
image_info, width, height,
- paper_left_margin, paper_bottom_margin, paperwidth, paperheight, paper_orientation,
+ paper_left_margin, paper_bottom_margin, paper_width, paper_height, paper_orientation,
flatedecode, icc_object,
progress_bar);
@@ -4068,7 +4106,7 @@ int xsane_save_pdf_page(FILE *outfile, struct pdf_xref *xref, int page,
/* ---------------------------------------------------------------------------------------------------------------------- */
int xsane_save_pdf(FILE *outfile, FILE *imagefile, Image_info *image_info, float width, float height,
- int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
+ int paper_left_margin, int paper_bottom_margin, int paper_width, int paper_height, int paper_orientation,
int flatedecode,
cmsHTRANSFORM hTransform, int apply_ICM_profile, int cms_function,
GtkProgressBar *progress_bar, int *cancel_save)
@@ -4093,7 +4131,7 @@ int xsane_save_pdf(FILE *outfile, FILE *imagefile, Image_info *image_info, float
xsane_save_pdf_page(outfile, &xref, 1,
imagefile, image_info, width, height,
- paper_left_margin, paper_bottom_margin, paperwidth, paperheight, paper_orientation,
+ paper_left_margin, paper_bottom_margin, paper_width, paper_height, paper_orientation,
flatedecode,
hTransform, apply_ICM_profile && ((cms_function != XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE)) /* do_transform */, icc_object,
progress_bar, cancel_save);
diff --git a/src/xsane-save.h b/src/xsane-save.h
index f94fe7c..64db676 100644
--- a/src/xsane-save.h
+++ b/src/xsane-save.h
@@ -68,17 +68,20 @@ extern int xsane_save_scaled_image(FILE *outfile, FILE *imagefile, Image_info *i
extern int xsane_save_despeckle_image(FILE *outfile, FILE *imagefile, Image_info *image_info, int radius, GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_save_blur_image(FILE *outfile, FILE *imagefile, Image_info *image_info, float radius, GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_save_rotate_image(FILE *outfile, FILE *imagefile, Image_info *image_info, int rotation, GtkProgressBar *progress_bar, int *cancel_save);
-extern void xsane_save_ps_create_document_header(FILE *outfile, int pages, int flatedecode);
+extern void xsane_save_ps_create_document_header(FILE *outfile, int pages,
+ int paper_left_margin, int paper_bottom_margin,
+ int paper_width, int paper_height,
+ int paper_orientation, int flatedecode);
extern void xsane_save_ps_create_document_trailer(FILE *outfile, int pages);
extern int xsane_save_ps_page(FILE *outfile, int page,
FILE *imagefile, Image_info *image_info, float width, float height,
- int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
+ int paper_left_margin, int paper_bottom_margin, int paper_width, int paper_height, int paper_orientation,
int flatedecode,
- cmsHTRANSFORM hTransform, int embed_scanner_icm_profile,
+ cmsHTRANSFORM hTransform, int apply_ICM_profile, int embed_CSA, char *CSA_profile, int intent,
GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_save_ps(FILE *outfile, FILE *imagefile, Image_info *image_info,
float width, float height,
- int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
+ int paper_left_margin, int paper_bottom_margin, int paper_width, int paper_height, int paper_orientation,
int flatedecode,
cmsHTRANSFORM hTransform, int apply_ICM_profile, int embed_CSA, char *CSA_profile,
int embed_CRD, char *CRD_profile, int blackpointcompensation, int intent,
@@ -87,13 +90,13 @@ extern void xsane_save_pdf_create_document_header(FILE *outfile, struct pdf_xref
extern void xsane_save_pdf_create_document_trailer(FILE *outfile, struct pdf_xref *xref, int pages);
extern int xsane_save_pdf_page(FILE *outfile, struct pdf_xref *xref, int page,
FILE *imagefile, Image_info *image_info, float width, float height,
- int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
+ int paper_left_margin, int paper_bottom_margin, int paper_width, int paper_height, int paper_orientation,
int flatedecode,
cmsHTRANSFORM hTransform, int embed__scanner_icm_profile, int icc_object,
GtkProgressBar *progress_bar, int *cancel_save);
extern int xsane_save_pdf(FILE *outfile, FILE *imagefile, Image_info *image_info,
float width, float height,
- int paper_left_margin, int paper_bottom_margin, int paperwidth, int paperheight, int paper_orientation,
+ int paper_left_margin, int paper_bottom_margin, int paper_width, int paper_height, int paper_orientation,
int flatedecode,
cmsHTRANSFORM hTransform, int apply_ICM_profile, int cms_function,
GtkProgressBar *progress_bar, int *cancel_save);
diff --git a/src/xsane-scan.c b/src/xsane-scan.c
index 9cc9ffb..11aff3e 100644
--- a/src/xsane-scan.c
+++ b/src/xsane-scan.c
@@ -1090,7 +1090,23 @@ void xsane_scan_done(SANE_Status status)
image_info.cms_intent = preferences.cms_intent;
image_info.cms_bpc = preferences.cms_bpc;
- strncpy(image_info.icm_profile, xsane.scanner_default_color_icm_profile, sizeof(image_info.icm_profile));
+ image_info.icm_profile[0] = 0; /* empty string */
+
+ if (image_info.channels == 1)
+ {
+ if (xsane.scanner_default_gray_icm_profile)
+ {
+ strncpy(image_info.icm_profile, xsane.scanner_default_gray_icm_profile, sizeof(image_info.icm_profile));
+ }
+ }
+ else
+ {
+ if (xsane.scanner_default_color_icm_profile)
+ {
+ strncpy(image_info.icm_profile, xsane.scanner_default_color_icm_profile, sizeof(image_info.icm_profile));
+ }
+ }
+
xsane_write_pnm_header(xsane.out, &image_info, 0);
}
@@ -1349,13 +1365,13 @@ void xsane_scan_done(SANE_Status status)
imagewidth, imageheight,
preferences.printer[preferences.printernr]->leftoffset * 72.0/MM_PER_INCH, /* paper_left_margin */
preferences.printer[preferences.printernr]->bottomoffset * 72.0/MM_PER_INCH, /* paper_bottom_margin */
- preferences.printer[preferences.printernr]->width * 72.0/MM_PER_INCH, /* usable paperwidth */
- preferences.printer[preferences.printernr]->height * 72.0/MM_PER_INCH, /* usable paperheight */
+ preferences.printer[preferences.printernr]->width * 72.0/MM_PER_INCH, /* usable paper_width */
+ preferences.printer[preferences.printernr]->height * 72.0/MM_PER_INCH, /* usable paper_height */
preferences.paper_orientation,
preferences.printer[preferences.printernr]->ps_flatedecoded, /* ps level 3 */
NULL /* hTransform */, xsane.enable_color_management,
preferences.printer[preferences.printernr]->embed_csa, xsane.scanner_default_color_icm_profile,
- preferences.printer[preferences.printernr]->embed_crd, preferences.printer[preferences.printernr]->icm_profile, preferences.printer[preferences.printernr]->blackpointcompensation,
+ preferences.printer[preferences.printernr]->embed_crd, preferences.printer[preferences.printernr]->icm_profile, preferences.printer[preferences.printernr]->cms_bpc,
0 /* intent */,
xsane.progress_bar,
&xsane.cancel_save);
@@ -1769,7 +1785,23 @@ static void xsane_start_scan(void)
image_info.cms_intent = preferences.cms_intent;
image_info.cms_bpc = preferences.cms_bpc;
- strncpy(image_info.icm_profile, xsane.scanner_default_color_icm_profile, sizeof(image_info.icm_profile));
+
+ image_info.icm_profile[0] = 0; /* empty string */
+
+ if (image_info.channels == 1)
+ {
+ if (xsane.scanner_default_gray_icm_profile)
+ {
+ strncpy(image_info.icm_profile, xsane.scanner_default_gray_icm_profile, sizeof(image_info.icm_profile));
+ }
+ }
+ else
+ {
+ if (xsane.scanner_default_color_icm_profile)
+ {
+ strncpy(image_info.icm_profile, xsane.scanner_default_color_icm_profile, sizeof(image_info.icm_profile));
+ }
+ }
xsane_write_pnm_header(xsane.out, &image_info, 0);
diff --git a/src/xsane-setup.c b/src/xsane-setup.c
index 677c375..1078604 100644
--- a/src/xsane-setup.c
+++ b/src/xsane-setup.c
@@ -141,6 +141,7 @@ void xsane_new_printer(void)
preferences.printer[preferences.printernr]->icm_profile = NULL;
preferences.printer[preferences.printernr]->embed_csa = 1;
preferences.printer[preferences.printernr]->embed_crd = 0;
+ preferences.printer[preferences.printernr]->cms_bpc = 0;
preferences.printer[preferences.printernr]->ps_flatedecoded = 1;
}
else
@@ -294,6 +295,7 @@ static void xsane_setup_printer_update()
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(xsane_setup.printer_embed_csa_button), preferences.printer[preferences.printernr]->embed_csa);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(xsane_setup.printer_embed_crd_button), preferences.printer[preferences.printernr]->embed_crd);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(xsane_setup.printer_cms_bpc_button), preferences.printer[preferences.printernr]->cms_bpc);
#endif
#ifdef HAVE_LIBZ
@@ -383,6 +385,7 @@ static void xsane_setup_printer_apply_changes(GtkWidget *widget, gpointer data)
preferences.printer[preferences.printernr]->icm_profile = strdup(gtk_entry_get_text(GTK_ENTRY(xsane_setup.printer_icm_profile_entry)));
xsane_update_bool(xsane_setup.printer_embed_csa_button, &preferences.printer[preferences.printernr]->embed_csa);
xsane_update_bool(xsane_setup.printer_embed_crd_button, &preferences.printer[preferences.printernr]->embed_crd);
+ xsane_update_bool(xsane_setup.printer_cms_bpc_button, &preferences.printer[preferences.printernr]->cms_bpc);
#endif
#ifdef HAVE_LIBZ
@@ -1451,6 +1454,18 @@ static void xsane_printer_notebook(GtkWidget *notebook)
gtk_widget_show(button);
gtk_widget_show(hbox);
xsane_setup.printer_embed_crd_button = button;
+
+ /* black point compensation */
+ hbox = gtk_hbox_new(/* homogeneous */ FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 2);
+ button = gtk_check_button_new_with_label(TEXT_SETUP_PRINTER_CMS_BPC);
+ xsane_back_gtk_set_tooltip(xsane.tooltips, button, DESC_PRINTER_CMS_BPC);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), preferences.printer[preferences.printernr]->cms_bpc);
+ gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 2);
+ gtk_widget_show(button);
+ gtk_widget_show(hbox);
+ xsane_setup.printer_cms_bpc_button = button;
+
#endif
#ifdef HAVE_LIBZ
diff --git a/src/xsane-text.h b/src/xsane-text.h
index c271956..59c6317 100644
--- a/src/xsane-text.h
+++ b/src/xsane-text.h
@@ -287,6 +287,7 @@
#define TEXT_SETUP_PRINTER_GAMMA_BLUE _("Printer gamma blue:")
#define TEXT_SETUP_PRINTER_EMBED_CSA _("Embed scanner ICM profile as CSA")
#define TEXT_SETUP_PRINTER_EMBED_CRD _("Embed printer ICM profile as CRD")
+#define TEXT_SETUP_PRINTER_CMS_BPC _("Apply black point compensation")
#define TEXT_SETUP_PRINTER_PS_FLATEDECODED _("Create zlib compressed postscript image (ps level 3) for printing")
#define TEXT_SETUP_TMP_PATH _("Temporary directory")
#define TEXT_SETUP_IMAGE_PERMISSION _("Image-file permissions")
@@ -578,6 +579,7 @@
#define DESC_PRINTER_GAMMA_BLUE _("Additional gamma value for blue component for photocopy")
#define DESC_PRINTER_EMBED_CSA _("Creates a postsciptfile that contains the ICM profile of the scanner")
#define DESC_PRINTER_EMBED_CRD _("Creates a postsciptfile that contains the ICM profile of the printer")
+#define DESC_PRINTER_CMS_BPC _("Applies black point compensation")
#define DESC_PRINTER_PS_FLATEDECODED _("Create zlib compressed postscript image for printer (flatedecode).\n" \
"The printer has to understand postscript level 3!")
#define DESC_TMP_PATH _("Path to temp directory")
diff --git a/src/xsane.h b/src/xsane.h
index 4e4ddd8..5cde44a 100644
--- a/src/xsane.h
+++ b/src/xsane.h
@@ -91,7 +91,7 @@
/* ---------------------------------------------------------------------------------------------------------------------- */
-#define XSANE_VERSION "0.993"
+#define XSANE_VERSION "0.994"
#define XSANE_AUTHOR "Oliver Rauch"
#define XSANE_COPYRIGHT "Oliver Rauch"
#define XSANE_DATE "1998-2007"
@@ -1010,6 +1010,7 @@ typedef struct XsaneSetup
GtkWidget *printer_icm_profile_entry;
GtkWidget *printer_embed_csa_button;
GtkWidget *printer_embed_crd_button;
+ GtkWidget *printer_cms_bpc_button;
GtkWidget *printer_width_entry;
GtkWidget *printer_height_entry;
GtkWidget *printer_ps_flatedecoded_button;
diff --git a/xsane.CHANGES b/xsane.CHANGES
index 840e0d7..b6cbd3b 100644
--- a/xsane.CHANGES
+++ b/xsane.CHANGES
@@ -2948,3 +2948,16 @@ xsane-0.992 -> 0.993:
- added flatedecode without Asci85 compression for PDF
+
+xsane-0.993 -> 0.994:
+---------------------
+
+ - corrected postscript bug: moved "/DeviceRGB setcolorspace" and "CSA... setcolorspace" from document setup to page setup
+
+ - added black point compensation to printer setup dialog
+
+ - xsane-scan.c: if (channels==1) then scanner_default_gray_icm_profile is used instead of scanner_default_color_icm_profile
+
+ - xsane-scan.c: bugfix segfault when scanning: when scanner_default_color_icm_profile is not defined then "" is used instead
+ of scanner_default_color_icm_profile
+
diff --git a/xsane.CHANGES~ b/xsane.CHANGES~
new file mode 100644
index 0000000..cf0e645
--- /dev/null
+++ b/xsane.CHANGES~
@@ -0,0 +1,2962 @@
+CHANGES FOR FRONTEND XSANE FOR SANE:
+------------------------------------
+
+xsane-0.11 beta and before:
+---------------------------
+
+ - based on gtk-1.0.x
+ - histogram
+ - online color enhancement
+ - gamma table: tested with
+ - 8, 10 and 12 input bits per color
+ - 8 output bits per color
+ - standard and advanced options in own (non scrollable) window
+ - photocopy function via postscript output (gray + color, not lineart)
+ - frontend/Makefile.in changed for xsane
+
+
+xsane-0.11 -> 0.12:
+-------------------
+
+ - added ps, jpeg and png(1+8bit) output format, selected by filename
+ - added lineart support for ps
+ - changed configure.in and config.h.in and included them into xsane
+ - changed device selection dialog: scanner vendor and model added
+ - added xsane-logo (winner from gimp-contest) to device-selection and about-window,
+ it is loaded from SANE_DATA_PATH/sane/xsane-logo.xpm (/usr/local/share/sane/...)
+ - histogram window now always exists and may be hidden
+ - changed handling of devicename given as commandline option:
+ sane_get_devices is called and the vendor, model and type get identified,
+ if the given device name does not fit to the beginning of an existing device name
+ the device selection is opened
+
+
+xsane-0.12 -> 0.13:
+-------------------
+
+ - file format detection now works with case insensetive
+ - changed font for device selection
+ - changed output format of device list for selection
+ - disabled gamma table for 1 bit grayscale (lineart)
+ - improved error handling of saving routines
+ - removed ram eater in preview routine
+ - added default gamma upload into preview scan routine
+ - added tiff-output-format
+ - changed lineart to grayscale conversion in saving-routines
+ - added test if selected output format is supported before scan
+
+
+
+xsane-0.13 -> 0.14:
+-------------------
+
+ - added info window that displays hidden options/values
+ - xsane compiles without sane-source-package now,
+ sane must be installed.
+ - if scan is started with save for unsupported graphics format
+ an error message comes up before scanning is started
+ - tested for param.depth>1 for gamma correction
+ - added test for sane major version number, abort if mismatch
+
+
+xsane-0.14 -> 0.15:
+-------------------
+
+ - if device is given as commandline option it is now loaded again
+ if it is not in the devicelist
+ - moved some functions in xsane.c out of a #ifdef HAVE_LIBGIMP .. #endif-block
+ - added sliders in the gray/red/green/blue-levels for black/gray/white points
+ - gamma correction in preview is now only done if depth > 1
+ - enhancement sliders are not shown in lineart mode any more
+
+
+xsane-0.15 -> 0.16:
+-------------------
+
+ - moved save-routines to xsane-save, named xsane* to xsane-*
+ - included progress-routines into xsane.c
+ - moved xsane.h to xsane-text.h
+ - moved definitions and external used function headers to xsane.h
+ - added test for depth > 1 before calculating preview histogram
+ - added test for preview_gamma_data_red before calculating preview histogram
+ - added test for preview_gamma_data_red before doing preview gamma correction
+ - added p->image_data_raw = malloc(3*p->image_width*p->image_height);
+ in xsane-preview.c/scan_start
+ - added authorization_callback routine
+ - renamed a lot of routines * -> xsane_*
+ - added p->previous_selection.active = FALSE; draw_selection(p);
+ to preview_gamma_correction to redraw selection
+ - added preview_update(p); to scan_done in xsane-preview.c to reactivate selection
+ - added header for saving >8bpp raw data (SANE_GRAYSCALE_RAW, SANE_RGB_RAW)
+ - added 16 bit saving routines for pnm(ascii), png and raw
+ - added 16 bit routines to xsane_read_image_data, added 16 bit gamma software support
+
+
+xsane-0.16 -> 0.17:
+-------------------
+
+ - xsane-gtk.c moved free(elem->menu); elem->menu = 0; in panel_destroy out of
+ the for-loop
+ - added some #ifdefs #endifs around saving routines for TIFF, PNG and JPEG
+ - added BIT_DEPTH as well known option, preview sets this value to 8 if it is greater than 8
+ - added range checks in calculation for auto enhancement values
+ - calculation of auto enhancement values is not called in lineart mode any more
+
+
+xsane-0.17 -> 0.18:
+-------------------
+
+ - added quit_xsane in xsane_choose_dialog_ok_callback if no device was opened
+ - added sane_get_parameters(..) in xsane_scan_dialog
+ - added xsane_increase_counter_in_filename to xsane-save.[ch]
+ - Filename counter is automatically increased after scan
+ - Changed setup_dialog callbacks, cancel does work now
+ - zoomfactor is calculated now if copy mode is selected
+ - added tooltips for xsane setup options
+ - changed "destroy"-event of authorization dialog to "delete_event"
+ - in gsg_message made the ok button default
+ - added gsg_decision routine
+ - added overwrite warning
+ - postscript images are saved in original size in scan mode now
+
+
+xsane-0.18 -> 0.19:
+-------------------
+
+ - added cancel callback routine for conversion/saving routines
+ - printer_resolution now is set if OK is pressed in setup
+ - overwrite warning is not shown in copy mode any more
+ - changed fclose to pclose for closing pipe to printer command
+ - restored xsane.resolution in xsane_pref_device_restore
+ - added Help menu, called Netscape -remote to open help-files
+ - set sensetivity of xsane dialog and histogram dialog while
+ scan and preview scan to false
+ - added some help(html) files to the doc directory
+
+
+xsane-0.19 -> 0.20:
+-------------------
+
+ - improved online help
+ - added own version number for xsane, there are three version
+ numbers now:
+ - xsane version
+ - sane version
+ - package version (e.g if there is a package of different frontends)
+ - added gamma value (gray, red, green, blue) for printer (copy mode)
+ - changed sane-style.rc -> xsane.style.rc
+ - changed PATH_SANE_DATA_DIR -> old PATH_SANE_DATA_DIR/sane
+ - preview gamma correction is done by the xsane gamma correction instead of
+ the Xserver gamma correction, there are also values for red, green and blue
+ now.
+ - spilt setup window into notebook pages
+ - replaced in xsane_pref_set_unit_callback preview_update by preview_area_resize,
+ the ruler units are updated now if unit is changed
+ - made menue length unit inactive if length unit is pixel
+ - added dialogs for batch scan list and fax page list, but not finished and disabled
+ - changed local includes from <...> to "..."
+ - test for filetype is only done in scanmode now
+ - added list of (up to 10) printers for photocopy mode
+ - added error messages if failed to open files
+ - added sigpipe_handler for handling broken pipe while writing to printercommand
+
+
+xsane-0.20 -> 0.21:
+-------------------
+
+ - in xsane-preview.c if backend does not use scanareaselection dev_selection[i]
+ is set to width/height of image
+ - replaced most sprintf by snprintf
+ - made menue length unit inactive if scanare is nut supported by the backend
+ - set maximum value in 16 bit saving routines to 16 bit/65535
+ - 1 bit/pixel png file is saved with 1 bit/pixel instead of 8 bit/pixel now
+ - added support for gtk-1.2
+ - font are set in xsane-style.rc now
+
+
+xsane-0.21 -> 0.22:
+-------------------
+
+ - split xsane.c in:
+ - xsane.c
+ - xsane-setup.c
+ - xsane-gamma.c
+ - xsane-front-gtk.c
+ - xsane-scan.c
+ - renamed xsane-gtk.c to xsane-back-gtk.c
+ - removed libtool from package
+ - added experimental fax support
+
+xsane-0.22 -> 0.23:
+-------------------
+
+ - changed configure.in, removed some unnecessary parts
+ and added error messages if gtk or sane is not installed
+
+ - removed copy-mode resolution bug (was not changed if zoom slider was moved)
+ - removed bug in faxmode if faxproject did not exist (fclose(0))
+ - changed definition of struct xsane and struct xsane_setup
+ - added documentation-viewer-command to setup, netscaperemote is selected
+ via the keyword "netscape-remote"
+
+xsane-0.23 -> 0.24:
+-------------------
+
+ - removed some bugs in gamma value calculation for real scan (preview was ok)
+ - added activation for some windows after scan error
+ - removed bugs in startup if no device is available or selected,
+ the xsane.rc-file keeps untouched now
+
+
+xsane-0.24 -> 0.25:
+-------------------
+
+ - moved xsane_pixmap_new as xsane_create_histogram from xsane-front-gtk.c to
+ xsane-gamma.c
+ - now putting the histogram sliders directly into the slider preview instead
+ of drawing into the preview window, the sliders are not erased by other
+ other windows now
+ - added block_update_param flag, the update_param and update_histogram routines
+ are now called only one time if the preview scan area is changed
+ - added changing of one edge in preview scanarea (left mousebotton near the edge)
+ - added moving of preview scanarea (middle or right mousebutton)
+ - moved creation of histogram dialog to xsane-gamma.c
+ - removed some bugs in the preview, resizing the preview window should work now
+ - added an experimental zoom for the preview
+
+
+xsane-0.25 -> 0.26:
+-------------------
+
+ - removed some preview_update calls or replaced them by preview_update_selection
+ - renamed preview_update to preview_update_surface and made surface_changed a parameter
+ - ruler scaling is now ok in resized windows and zoomed previews
+ - added some range checks in preview_calculate_histogram
+ - parts in the preview window that are not part of the scan area are painted gray now
+ - added image_surface to preview structure, it stands for the surface of the scanned preview image
+ - renamed preview_get_image_scale to preview_get_scale_preview_to_image
+ - added routine preview_get_scale_device_to_preview
+ - added Zoom 20% out routine
+ - the selected area can be larger than the viewable preview now
+ - added Pipette functions (pick black, gray and white) - mouse pointer does change to pipetty icon
+ - p->aspect is calculated by image-size now if the surface is not defined (INF) in
+ preview_update_surface
+ - preview_update_surface is called now after preview scan and preview_restore_image
+ - moved the "Help" menu in the main dialog to the right
+
+
+xsane-0.26 -> 0.27:
+-------------------
+
+ - added scantips and index of backends to help menu
+ - changed configure.in, libpng should be found on (all ?) systems now
+ - black and white point sliders use the two additional pixels now
+ - user can preset (reduce) the preview area now
+ - added "Select visible area" button
+ - removed some bugs in gray gamma value calculation for real scan (preview was ok)
+ - setup of faxoptions: normal, fine and postscript option is saved now
+
+
+xsane-0.27 -> 0.28:
+-------------------
+
+ - added option negative into enhancement and changed create_gamma
+ draw_histogram and auto_enhancement to work with it!
+
+ - increased contrast range from -100..+100 to -100..+200
+ and brightness range from -100..+100 to -200..+200
+ because the old values were not sufficent for scanning negatives
+
+ - added selection for number of copies in copy mode
+
+
+xsane-0.28 -> 0.29:
+-------------------
+
+ - removed bug in xsane_set_resolution that could cause a segmentation fault
+ - added support for resolution of type CONSTRAINT_WORD_LIST
+ - xsane-mode (scan, copy, fax) can be selected as command line option (-s, -c, -f) now
+ - most texts that are defined in xsane are defined in xsane-text now
+
+
+xsane-0.29 -> 0.30:
+-------------------
+
+ - removed bug in xsane_set_resolution, now highest resolution can be set if
+ resolution is a list!
+ - added RGBI support - must be activated in xsane.h (SUPPORT_RGBI)
+ - added options rgb default and negative to preferences
+ - enhancement values are saved with device settings now
+ - The filename can be specified now for the file in which the device settings are saved
+ or from which they are loaded.
+ - changed extension from ".rc" to ".drc" (device rc)
+ - added header "XSANE_DEVICE_RC" to identify it as device-rc-file
+ - added calculation for color components to auto enhancement
+ - pipette functions: middle mouse button defines shadow/gray/highlight
+ for color components, left mouse button only defines gray values!
+ - auto enhancement values are set to standard values in
+ xsane_calculate_histogram if no values could be calculated
+ - histogram is cleared when sensitivity is set to false
+ - improved calculation of auto enhancement values
+ - increased contrast range from -100..+200 to -100..+300 (gray) and
+ -300..+300 (color) and brightness range from -200..+200 to -300..+300
+
+
+xsane-0.30 -> 0.31:
+-------------------
+
+ - changed filename character transformation: erase " ", "_" -> "__", "/" -> "_"
+ - device settings standard file name is vendor:model
+ so it does not matter any more if the sg-device name has changed
+ - the xsane main window can be a fixed or a scrolled, resizable window now.
+ selection is done with setup/display/"main window fixed",
+ the main window mode can be overwritten by specifying a command
+ line option:
+ -R or --Resizeable activates the resizeable, scrolled window,
+ -F or --Fixed activates the fixed (non resizable) window (default)
+ - histogram is cleared when info dialog or about dialog is opened
+ - changed version option from -V to -v
+ - added support for Automatic Document Feeder (scan until error)
+ this is experimentary because in the SANE-standard there is
+ no way defined how a frontend can identify an ADF.
+ The backend has to load the next document automatically!
+ - in xsane_enhancement_update replaced gtk_signal_emit_by_name
+ by gtk_signal_emit
+ - moved more texts to xsane-text.h
+ - changed all RGBI -> RGBA because the 4th channel is ALPHA
+ I think that SANE_FRAME_RGBA will be added to the sane standard
+ - gtk+-1.2.0 is minimum requirement: removed tests for
+ gtk_tooltips_set_tips, gtk_scrolled_window_add_with_viewport
+ and gtk_events_pending that were needed for gtk+-1.0.x
+ - added option "--device-settings file" to define default
+ filename for device-settings
+ - corrected "legal" size in preview
+ - added device_text to info and preview window title
+ - moved color definition to xsane_creat_histogram_dialog
+ - pixmap colors depend on histogram_dialog now because
+ the histogram dialog is the first dialog that exists
+ - renamed all gtk functions like defined in gtkcompat.h
+ (gtk+-1.0.x -> gtk+-1.2.x)
+ - removed bug in device selection, device can be selected
+ now with keyboard
+ - xsane info window prints gamma depth "none" in 1 bit modes
+
+
+xsane-0.31 -> 0.32:
+-------------------
+
+ - added option --no-mode-selection/-s to disable menu for
+ xsane mode selection
+ - prepared text outputs (in xsane-text.h) for NLS/gettext support
+ - multiple \n in scanf while reading saved preview image removed
+ - added AM_PROG_CC_STDC to configure.in for HP/UX
+ - added a break statement after each default in switch block
+ - changed test for multiple image scan, when sane_read returned with
+ SANE_STATUS_GOOD when the image is finished we start a new scan,
+ SANE_STATUS_EOF is expected when scanning should be stopped.
+ This way the Automatic Document Feeder is supported a way
+ like planned in the sane standard, the backend says
+ if the frontend shall call sane_start repeatadly.
+
+
+xsane-0.32 -> 0.33:
+-------------------
+
+ - removed change about SANE_STATUS_GOOD in multiple image mode.
+ Adf mode is detected by scanmode again. This would be better
+ selected by a mulit_image bit in the preferences block.
+ - added common rotuine xsane_set_sensitivity to xsane-front-gtk.c
+ - renamed xsane_test_adf to xsane_test_multi_scan
+
+
+xsane-0.33 -> 0.34:
+-------------------
+
+ - the preview selection is based on device coordinates instead of
+ preview window coordinates now
+ - added preview buttons and preview viewport to xsane_set_sensitivity
+ - info and about dialog use xsane_set_sensitivity now
+ - dummy_filename is created and opened for writing AFTER sane_start is called.
+ - sane_start() == NO_DOCS is not handled as error any more
+ - xsane_scan_done -> sane_cancel is called now if an error occurs
+ - if an error occurs while scanning the created file is removed
+ - xsane windows/buttons get inactive while setup dialog is open
+ - xsane_scan_done -> sane_cancel is called when main window is closed
+ (while scanning)
+ - if there are no standard device settings at program startup, xsane
+ take the backend predefined resolution (before this was set to 100)
+ - if no scanarea options are given, the preview works with
+ [0,INF] instead of [-INF,INF] now
+ - transformed all gif files in directory doc to jpeg format because of
+ all the trouble about the gif licence. Will never use gif again!
+
+
+xsane-0.34 -> 0.35:
+-------------------
+
+ - corrected doc/Makefile.in for change gif->jpg
+ - added tiff compression type selection for multi bit and one bit images to
+ setup:
+ none, CCITT 1D Huffman compression, CCITT Group 3 Fax compression,
+ CCITT Group 4 Fax compression, Lempel-Ziv & Welch, JPEG DCT compression,
+ pack bits
+ - implemented real single-bit format for tiff
+ - setup/jpeg quality selection is enabled if jpeglib or libtiff is available
+ - added gimp_image_set_resolution(...) to gimp saving routine
+ - added test for libgimp/gimpfeatures.h to configure.in and config.h.in
+ - disabled sensetivity while filename browse window is open
+ - added handling if fileselection window was closed
+ - moved filename "Browse" button from the right to to the left with disk-image inside
+ - (added image filetype menu to the image filename line - not ready)
+ - replaced button-texts negative, rgb default, auto, default, store and
+ restore by icons
+
+
+xsane-0.35 -> 0.36:
+-------------------
+
+ - moved xsane_generate_dummy_filename in xsane-scan.c out of a
+ #ifdef HAVE_LIBGIMP_H block
+ - changed some icons
+ - added #ifdef HAVE_LIBTIFF around TIFF-relevant definitions in
+ xsane_setup_dialog in xsane-setup.c
+ - included NLS/gettext version 0.10.35
+ - texts that are created by xsane can be converted to other languages
+ now - texts created by the backend can not be translated yet!
+ - added gettext relevant routines to aclocal.m4 and correct some bugs
+ - added french translation - thanks to Vincent Renardias <vincent@ldsol.com>
+ - added german translation table
+ - translation files "*.po" are created by "*.po.in" with help of the
+ preprocessor of gcc, all texts are #defined in frontend/xsane-text.h
+
+
+xsane-0.36 -> 0.37:
+-------------------
+
+ - added some texts to xsane-text.h and newlanguage.po.in[.in],
+ created file add-0.37.po.in where the new entries are listed
+ - moved generation of xsane.backend (backendname like umax)
+ from xsane_help_build_menu to xsane_device_dialog, needed for
+ translation of backend options
+ - added translation for backend options:
+ Backend translation is done with translation table sane-BACKENDNAME.mo
+ - removed bug in preview_update_selection()
+ (forgotten p->selection.active = TRUE)
+ The selection box is updated correct now
+ - removed bug in aclocal.m4: not fount "-lintl" when gettext is in glibc
+
+
+xsane-0.37 -> 0.38:
+-------------------
+
+ - changed STANDALONE -> XSANE_STANDALONE and
+ GIMP_EXTENSION -> XSANE_GIMP_EXTENSION because GIMP_EXTENSION
+ now (gimp-1.1.10) is used in the Gimp
+ - changed brightness and contrast range maximum form 300 to 400 %
+ - moved gimp installation texts to xsane-text.h
+ added entries to po/newlamguage*
+ - xsane -g now does not print anything and does not abort if gimp
+ support is compiled in
+ - changed lib/Makefile.in and sanei/Makefile in, make install should
+ work without a previous make now
+ - xsane gimp-plugin is selected via file/acquire now when
+ gimp-version >= 1.1.9
+ - . removed ../intl/libintl.a form frontend/Makefile.in and
+ . added CATOBJEXT=UNKNOWN and XGETTEXT=":" in if "gettext is in libc"
+ to aclocal.m4
+ hope this solves problems with missing "-lintl" now on all systems
+ - moved "show xxx" menu items form menu "Preferences" to menu "View"
+ - added continuous update to histogram sliders and preview selection
+ - added preferences menu item "Update policy"
+ - now options are only changable if SANE_CAP_SOFT_SELECT is set
+ - added test for bitdepth in xsane_scan_dialog for GIMP mode,
+ error message pops up when unsupported bit depths are selected
+ - moved case XSANE_PNM16 out of a #ifdef HAVE_LIBPNG block
+ - position of all windows and size of main window and preview window
+ is save in device settings, setting preview window geometry
+ does not work because window does not exist at relevant times.
+
+
+xsane-0.38 -> 0.39:
+-------------------
+
+ - bounded contrast to >=-100.0
+ - Added test if GIMP_CHECK_VERSION is defined
+
+
+xsane-0.39 -> 0.40:
+-------------------
+
+ - device name is saved in drc file now
+ - xsane version is saved in drc file now
+ - warning is printed if device rc file was not created for active device
+ - removed member device from struct preferences - was never used
+ - changed frontend/Makefile.in (XSCAN->BINPROGS)
+ - changed configure.in:
+ - changed order of some checks
+ - added status messages at the end
+ - added "--enable-intl-patch" which adds -lintl to check for libsane
+ - added "--disable-gimp"
+ - added "--disable-jpeg"
+ - added "--disable-tiff"
+ - added "--disable-png"
+ - moved xsane_generate_dummy_filename and fopen() into if XSANE_STANDALONE block,
+ there is no empty file created in gimp mode any more.
+
+
+xsane-0.40 -> 0.41:
+-------------------
+
+ - renamed xsane-incons.h -> xsane-icons.c and xsane-icons-def.h -> xsane-icons.h
+ - moved all includes that are needed by most xsane sources to xsane.h
+ problem with missing stdio.h is solved that way
+ - changed configure script:
+ - check for sane is moved to the end because of missing libintl,
+ - check for png is done with x_includes and x_libraries,
+ and libpng is added to lib after all checks are done
+
+
+xsane-0.41 -> 0.42:
+-------------------
+
+ - changed configure.in, error message about missing sane is also printed if sane.h
+ is not found.
+ - changed info row (size box, start button): the start button is made smaller when
+ the info box needs more place
+ - changed calculateion of size in info row from unisgned long to float
+ because unsigned long / 10 were to small to fit A4 with 1200x1200 dpi
+ - changed png part of configure, HAVE_LIBPNG is now defined again
+ - corrected png lineart saving
+
+
+xsane-0.42 -> 0.43:
+-------------------
+
+ - disabled LZW-compression for TIFF.
+ Unisys holds a patent for LZW compression. I am not sure
+ about the licence status of LZW and TIFF. GIF is not supported
+ because of the licence problem. LZW for TIFF is disabled now.
+ - removed all LZW entries in sourcecode and translation tables
+
+
+xsane-0.43 -> 0.44:
+-------------------
+
+ - renamed NOTEBOOK_PRINTER_OPTIONS to NOTEBOOK_COPY_OPTIONS
+ - added sane-problems-doc.html to the help menu
+ - added functions around "by ext" menu
+ - all functions in xsane-back-gtk.c are named with xsane_back_gtk_* now
+
+
+xsane-0.44 -> 0.45:
+-------------------
+
+ - added *s = 0; in sanei_codec_ascii.c when reading a string that
+ does not start with '"'
+
+ - added test "if (!w.status)" when reading a string in sanei_load_values.c
+ the missing test caused a segfault when a string was expected but
+ the line did not start with '"'
+
+ - merged together all needed sanei_* routines in xsane-rc-io.c
+ and renamed all sanei_* to xsane_rc_io_*, removed subdir sanei
+ and changed xsane.c and xsane-preferences.c to use xsane-rc-io.[ch]
+ and reprogrammed some things.
+
+ - renamed all xsane_pref_device_* to xsane_device_preferences_*
+ and moved them to xsane-device-preferences.c
+
+ - renamed sanei_w_[load|save]_values to xsane_device_preferencs_[load|save]_values
+ and moved them to xsane-device-preferences.c
+
+
+xsane-0.45 -> 0.46:
+-------------------
+
+ - changed xsane_rc_io_w_space: returns ENODATA instead of EINVAL at EOF
+
+ - added xsane_rc_io_w_skip_newline
+
+ - changed xsane_device_preferences_load_values:
+ - begin at start of file is only inciated if w.status == ENODATA
+ - if w.status is an other error, the line is skipped
+
+ - moved and renamed w_string, w_int, w_double from xsane-preferences.c
+ to xsane_rc_pref_* in xsane-rc-io.c
+
+ - repleaced fprintf/fscanf for reading xsane device preferences by
+ xsane_rc_io_w_* routines
+ This way the floating point values (xsane- gamma, brightness and contrast)
+ are saved different and the *.drc-files are incompatible in that point.
+
+ - added test for lineart mode (depth == 1) in xsane_enhancement_update
+ solves segmentation fault problem when device settings with lineart enabled
+ are loaded
+
+
+xsane-0.46 -> 0.47:
+-------------------
+
+ - if helpfile viewer is netscape-remote and netscape is not running
+ it is started
+
+ - replaced ENODATA (used for EOF detection in xsane-rc-io and
+ xsane-device-preferences) by XSANE_EOF (=-1)
+ (ENODATA is not defined on all systems)
+
+ - If faxproject does not exist, project data entries are made insensitive
+ and buttons "send project" and "delete project" are replaced by "create project"
+
+ - Added missing "&" in xsane_device_preferences_save_values:
+ xsane_rc_io_w_array(w, &len, (void **) &word_array, (WireCodecFunc) xsane_rc_io_w_word, sizeof(SANE_Word));
+ that cause segmentation fault when writing bool, int or fixpoint arrays.
+
+
+xsane-0.47 -> 0.48:
+-------------------
+
+ - "START" button is made insensitive in fax mode if project does not exist.
+
+ - Preview window is created at the same time as the main dialog and it is destroyed
+ at program end. Disabling "show preview" hides the preview window. This way the preview
+ window placement does work correct.
+
+ - set default values in xsane_device_preferences_load_file(char *filename)
+ before reading the saved values, show_preview default = true
+
+ - Mouse pointers display relevant mode icons in preview window now.
+
+ - In copy mode the maximum selectable size that fits to the selected printer is drawn
+ by a rect now. Selection is limited to the printer size.
+
+ - if no local xsane.rc, xsane-style.rc or DEVICE.drc file exists it is loaded from SANE_DATA_DIR/xsane
+
+ - all xsane rc files are placed in a subdirectory xsane now (~/.sane/xsane, SANE_DATA/DIR/xsane)
+
+ - temporary files (previews, conversions) are saved in /tmp (defined in SANE_PATH_TMP in xsane.h) now
+
+ - added window decoration icon (top left) to each xsane window (does work with kwm, does not work with fvwm2)
+
+ - added warning icon and error icon
+
+ - removed xsane_files_exit_callback, now xsane_scan_win_delete is used for all exit program calls
+
+ - conversion-* and preview-* files are created with permission "-rw-------",
+ images- and project-files are created with "preferences.image_umask"
+ xsane.rc and *.drc are created with XSANE_DEFAULT_UMASK defined in xsane.h
+
+ - added file permission selection in preferences/saving options for image file and for directory (faxproject)
+
+ - disabled fileoptions (mkdir, rm, mv) in loading/saving preferences
+
+
+xsane-0.48 -> 0.49:
+-------------------
+
+ - added support for different x/y resolutions and zoom factors,
+ the y-resolution slider is added to the xsane main dialog now
+
+ - in gimp mode x- and y-resolution infos are set correct now
+
+ - added resolution and zoom icons for x- and y-dimension
+
+ - added fax_width and fax_height to preferences
+
+ - added paper size frame in fax mode preview
+
+ - added czech translation - thanks to by Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+ - changed gimp_install_procedure(...): "RGB, GRAY" -> 0
+
+ - changed printer geometry setup from 1/72 ich to mm
+
+ - added setup entries for fax- width, height, left_offset and bottom_offset
+
+ - corrected terminating \0 of strings in sane_choose_device
+
+ - when button "Negative" is pressed the white/gray/black points
+ are also inverted
+
+ - split preview_restore_image into preview_restore_image and
+ preview_restore_image_from_file, it can zoom into a saved
+ image now.
+
+ - zoom functions are done now without a new preview scan.
+ 3 different zoom levels are stored.
+
+ - in xsane_scan_start the output file is only opend once in multi pass scan
+ three pass scan does work now again.
+
+ - added several missing routines for gamma correction in three pass scan
+
+
+xsane-0.49 -> 0.50:
+-------------------
+
+ - removed bug in calculation of paper size in copy and fax mode
+
+ - added support for rotate image in xsane_save_ps
+
+ - added support for rotate (landscape mode) in copy mode and save-ps mode
+ and added preferences menu "Rotate Postscript"
+
+ - added bugfix for gtk_tooltips_set_colors as long as it does not work in gtk
+
+ - improved memory allocation routines and error handling in preview
+
+ - after the main window is created the resolution, resolution_x amd resolution_y
+ are made up to date now
+
+ - changed dynamic menue list definition in xsane_setup for TIFF_COMPRESSION menu
+
+
+xsane-0.50 -> 0.51:
+-------------------
+
+ - added some rangechecks to histogram->gamma calculation
+ it is done as histogram->gamma->histogram now
+
+ - changed redraw frame in preview_display_partial_image(),
+ now the old image is completely overpainted!
+
+ - added xsane_set_all_resolutions() to xsane_printer_callback,
+ now paper size frame is updated when printer is changed
+
+ - corrected wrong error message in setting of scansource_selection
+ from "unknown type" to "unknown constraint type"
+
+ - moved xsane.header_size = 0; to the end of xsane_scan_done so it is called in each case
+ the missing command was responsible for a segfault when starting a scan after xsane_cancel
+ has been called
+
+ - moved progress_bar from it's own window to the bottom of the main window
+ progress_bar texts are displayed in info frame and in progress bar
+
+ - added size in mm/cm/in to progress bar when not scanning
+
+ - in scales the number of digits is defined by quantization now, if no quantization is given
+ by backend (quant=0, SANE_TYPE_FIXED) x.2 digits are displayed
+
+ - corrected page_step for scales
+
+ - selection_active is reset in preview_display_partial_image instead of preview_paint_image
+
+ - updated czech translation file cs.po.in - thanks to Stansislav Brabec
+
+
+xsane-0.51 -> 0.52:
+-------------------
+
+ - changed gimp_install_procedure(...) for specified device: "RGB, GRAY" -> 0
+
+ - in xsane-scan.c and xsane-preview.c added " | GDK_INPUT_EXCEPTION" to
+ gdk_input_add(fd, GDK_INPUT_READ | GDK_INPUT_EXCEPTION, preview_read_image_data, p);
+
+ - added static int xsane_set_modus_defaults(void)
+ zoomfactor is set to 1.0 if copy mode is selected
+ full preview area is selected if copy or fax mode is selected
+
+ - removed a second xsane_device_preferences_restore(); in static void xsane_device_dialog(void)
+
+ - zoom factor keeps unchanged when printer is changed
+
+ - added psfile-geometry to setup/saving options, it is used when saving postscript in scanmode
+
+ - moved exisiting routines to open functions to xsane-front-gtk.c:
+ void xsane_define_output_filename(void);
+ void xsane_identify_output_format(char **ext);
+
+ - define_maximum_output_size is called in each routine that changes filename or fileextension
+ because the output frame is also drawn in scanmode with filetype postscript now
+
+ - included Stanislav Brabec's <utx@penguin.cz> sed-scripts and changes for Makefile.in in xsane-*/po
+
+ - added creation of newlanguage.po in po/Makefile.in
+
+ - updated german translation file de.po
+
+ - updated czech translation file cs.po - thanks to Stanislav Brabec <utx@k332.feld.cvut.cz>
+
+ - updated french translation file fr.po
+
+
+xsane-0.52 -> 0.53:
+-------------------
+
+ - added test if vendor, model and type strings do exists (pointer != 0)
+ otherwise "no vendor",... is printed
+
+ - changed
+ ext = &extension;
+ to
+ if (extension)
+ {
+ *ext = strdup(extension);
+ }
+ else
+ {
+ *ext = 0;
+ }
+ in xsane_identify_output_format - bad thing, I get old ;-)
+
+ - added new routine xsane_find_best_resolution that makes sure that the selected resolution
+ fits into range/quantization given by backend.
+ This is used by xsane_set_resolution and when resolution_list is created.
+
+ - added xsane_set_all_resolutions to xsane_set_modus_defaults
+
+ - xsane resolution can be changed by backend now
+
+
+xsane-0.53 -> 0.54:
+-------------------
+
+ - updated french translation table
+
+ - updated german translation table
+
+ - changed type of umask in preferences from mode_t to int because
+ sizeof(mode_t) is on some machines only 2 bytes what cause problems.
+ all calls of umask(foo) are changed to umask((mode_t) foo)
+
+ - changed preferences update_policy from GtkUpdateType to int.
+
+ - selection box can not be moved out of the preview window, the
+ size of the selection keeps unchanged in that case now.
+
+ - removed some gtk_main_iteration and reordered some selection drawing routines.
+
+ - removed unused files/directories from package:
+ sanei, include/sane/sanei_(some).h, po_old
+
+
+xsane-0.54 -> 0.55:
+-------------------
+
+ - added preview support for 16 bpp (transformed to 8bpp)
+
+ - added copyright line in devcie selection dialog
+
+ - preview selection frame is only active when backend supports coordinate selection
+
+ - added preview oversampling factor (multiplier for calculated preview resolution)
+
+ - added lineart enhancement: preview can be done in grayscale now,
+ threshold value change is displayed without a new preview scan.
+
+ - added "device options" to setup dialog:
+ - Scanner dependant options for grayscale->lineart conversion have
+ to be entered there.
+
+ - a color preview is now displayed gray when grayscale mode is selected
+
+ - updated de.po, cs.po, fr.po
+
+ - updated po/xsane-pot.sed
+
+
+xsane-0.55 -> 0.56:
+-------------------
+
+ - added hold timer to preview (update-policy=delayed)
+
+ - added hold timer to xsane_slider (update-policy=delayed)
+
+ - moved help menu from file to help
+
+ - added swedish (sv) translation - thanks to Johan Bengtsson <johanb@lls.se>
+
+ - removed bug in xsane_rc_io_w_string, it returns EINVAL now each time when the string
+ does not begin with "
+
+
+xsane-0.56 -> 0.57:
+-------------------
+
+ - made xsane_choose_device return type to void (was gint32)
+
+ - arranged device-preferences in struct xsane in the order they are used
+ as device preferences, made sure that all variable types are correct:
+ - changed type of xsane.mode from gint32 to int
+ - changed type of xsane.lineart_mode from gint32 to int
+ - changed type of xsane.show_preview from SANE_Bool to int
+ - changed type of xsane.enhancement_rgb_default from SANE_Bool to int
+ - changed type of xsane.fax_finemode from SANE_Bool to int
+
+ - added mask for *_lock in preview motion_notify_event handling
+ Preview selection can be done with locks activated now
+
+ - histogram is cleared before/redrawn after saving/loading device settings
+
+ - added xsane_control_option() that tests if option >= 0 and returns SANE_STATUS_INVAL if not
+
+ - added xsane_get_option_descriptor() that tests if option >= 0 and returns NULL if not
+
+ - changed parameters of preview_area_resize and added preview_area_resize_handler
+
+ - removed a lot of gtk_main_iterations from xsane_preview.c
+ they make problems in the redrawing order and can cause display problems
+
+
+xsane-0.57 -> 0.58:
+-------------------
+
+ - split the preview_event_handler into
+ - preview_press_button_event_handler
+ - preview_motion_event_handler
+ - preview_release_button_event_handler
+
+ - the preview_expose_event_handler now is called twice,
+ the second call has been placed in the preview_event_handler_before
+
+ - reactivated gtk_main_iteration after at the end of motion_event
+
+ - added warning window when xsane is started as root
+
+ - added selection of temporary directory in preferences/setup/saving options
+
+ - added gdk_input_remove(xsane.input_tag); before xsane_start_scan is called
+ in 3-pass scanning mode (suggestion from Heiko_Schroeder@t-online.de)
+
+ - changed output of "xsane -v"
+
+ - in xsane_scan_done moved xsane.header_size = 0; before test for ADF
+ Thanks to Russell Coggrave for the info about it.
+
+ - added gtk_set_locale() before gtk_init()
+
+ - added copyright sign "(c)" to translated texts because it is not available on all charsets
+
+ - temporary filenames are created random and unique (mktemp + random number)
+ due to security problems with fixed/calculateable tempfiles.
+
+ - the preview-files are created (empty) at program startup now
+
+ - when program exits the previews are erased
+ there is no way to store the preview images any more when the program is closed
+
+ - preview_restore_image() creates the xsane-startimage if no preview is stored
+
+ - renamed directory frontend to src
+
+ - create xsane-help script that opens online helpfile
+
+
+xsane-0.58 -> 0.59:
+-------------------
+
+ - preview_do_gamma_correction does test for 3 pass scanner color mode
+
+ - changed fax x-resolution and standard resolution from 98 ppi to 204 ppi
+ and with of faxpage from 210.0 to 215.7 (so we get 1728 pixels in x direction,
+ hxlafax-faq says that is the correct size)
+
+ - split preferences.printer[..].resolution -> lineart, grayscale and color_resolution
+
+ - added setlocale(LC_NUMERIC, "C"); in xsane_init() and #include <locale.h> in xsane.h
+ this should solve the problems with empty images (100%transparent) with gimp
+ and other problems that were caused by local settings (1.3 <=> 1,3).
+
+ - added setup-option "disable gimp preview gamma"
+
+ - added selection (preferences/setup/enhancement options) if autoenhancement changes gamma value
+
+ - renamed Preferences/Setup/"Device options" to "Enhancement options"
+
+ - removed xsane internal callbacks from dialog struct, the functions are called directly now
+
+ - changed the reading of the preview image header. The last newline character before the image
+ data starts again made some problems, this seems to depend on the data that follows. So I added
+ a fgets() command to skip the newline character - this seems to work.
+
+ - changed increase_filename_in_counter, does work now if the only character of the base-filename
+ is the counter
+
+ - reduced size of src/xsane-startimage.pnm (1MB => 0.6MB)
+
+
+xsane-0.59 -> 0.60:
+-------------------
+
+ - after filename counter is increased the cursor in the outputfilename entry is moved to the right
+
+ - in preview_read_image_data when image is complete:
+ preview_update_surface(p, 0);
+ is called before
+ preview_display_image(p);
+ this way the geometry of the first preview scan is correct.
+
+ - moved xsane_set_all_resolutions in xsane_update_xsane_callback(),
+ it now also is called when the backend only uses one reesolution
+
+ - added calibration image (xsane-calibration.pnm) that is loaded when setup window is created.
+ The xsane enhancement functions are disabled in calibration mode, the image can not be
+ resized (xscale = yscale = 1.0).
+ The previsous image is reloaded when the setup window is closed again.
+
+ - enviornment variable SANE_DEFAULT_DEVICE is used to activate the radiobutton in the
+ device selection menu
+
+ - removed unused item "custom" from preview surface menu
+
+ - changed preview surface menu items:
+ A3 -> A3P (portrait)
+ A4 -> A4P (portrait)
+ A4H -> A4L (landscape)
+ A5 -> A5P (portrait)
+ A5H -> A5L (landscape)
+
+ - removed script xsane-help, necessary command now is listed in xsane.PROBLEMS
+
+
+xsane-0.60 -> 0.61:
+-------------------
+
+ - added debug output function and messages (environment variable XSANE_DEBUG)
+
+ - moved all global variables and struct GSGdialog to global struct xsane
+
+ - cleaned up some variable names
+
+ - added free gamma curve dialog (not ready)
+
+ - prepared xsane for win32:
+ - when BUGGY_GDK_INPUT_EXCEPTION is defined only blocking mode is used
+ (needed because GDK input exception does not work on win32)
+ - on win32 you cannot get a homedirectory, for this
+ XSANE_FIXED_HOME_PATH has to be set to the path that shall be
+ used as homedirectory
+ - replaced all gtk_dialog_new by gtk_window_new and added hbox and vbox to the window
+ (gtk_dialog_new does not work on WIN32)
+ - added xsane.WIN32 and xsane.WIN32-compilation that describes how xsane
+ is build on WIN32 with CYGWIN
+ - replaced "/" in all paths, added label SLASH that is predefined to '/' if it is
+ not defined by compiler option. For WIN32 it is set to '\' by compiler option
+ - all fopen functions use argument "rb" or "wb" now (b=binary). This is needed for WIN32
+ and the b is ignored on unix systems.
+ - published binary version xsane-win32-0v01 and xsane-win32-0v02 based on
+ xsane-pre0.61 versions
+
+ - removed an ugly bug: in struct Preferences there was predefined a string ("/tmp/")
+ that caused a bad memory state when the string memory was freed,
+ instead the string is defined in xsane_pref_restore now
+
+ - changes for tiff format:
+ - added support for 16 bit tiff format.
+ - predefined tiff-compression is changed from 5 to PACKBITS(16bit), JPEG(8bit), FAXG3(1bit).
+ - add resoultion-tags and datetime-tag to tiff files.
+
+ - added "change directory" entry to preferences menu
+
+ - added "scanning for devices" dialog
+
+
+xsane-0.61 -> 0.62:
+-------------------
+
+ - updated manpage (was about 1 year old)
+
+ - removed sigprocmask.c from xsane-*/lib (not used)
+
+ - added icons (32x32 and 48x48) for unix(xpm) and Windows(ico)
+
+ - some additional changes for rotating preview
+
+ - removed bug in preview_get_color that caused segfault when
+ click with pipette was placed into preview area but outside the image,
+ ( there was no test for image size )
+
+ - in info dialog tiff is now listed as supported 16 bit format
+
+ - filename counter is increased now if path or filename includes a "."
+ and fileytpe is seleced by menu
+
+ - added possibility to move the edge of the preview selection frame
+ thanks to Laurent Martelli for his suggestion for that
+
+ - added sane_get_parameters(xsane.dev, &xsane.param) at end of preview_scan_done
+ this way it is made sure that xsane.param is correct after preview scan
+ (was not correct in copy mode with lineart=grayscale->lineart preview)
+
+ - added explaination of "[DEVICE]" in xsane help message
+
+ - gimp handling now is always called in xsane_scan_done
+ (was not called when an error occured or the cancel button was pressed).
+
+ - moved selection of fax finemode to fax-project window, image is always scanned
+ in fine mode resolution.
+
+ - html-documentation is updated (a bit)
+
+ - removed bad "+ 0.5" from calculation in preview_set_option_float: word = SANE_FIX(value) + 0.5;
+
+ - included italian translation table (it.po), thanks to Mauro Colorio <macolori@tin.it>
+
+ - added error message in xsane_control_option if command failed
+
+ - p->startimage is set to 0 in preview_scan_start
+
+
+xsane-0.62 -> 0.63:
+-------------------
+
+ - added turkish translation (thanks to Togan Muftuoglu <toganm@turk.net>)
+
+ - changed gimp interface from 1.0 to 1.1.2x (GParam->GimpParam etc),
+ added xsane-oldgimp.h that adds #defines for the old gimp interface
+
+ - added "make uninstall"
+
+ - changed confiure.in, added test for x_includes before it is used,
+ renamed it to configure.old
+
+ - new configure.in file that does use "sane-config" now to find the sane libraries
+
+
+xsane-0.63 -> 0.64:
+-------------------
+
+ - changed xsane-oldgimp.h to work with gimp-1.0.4
+
+ - added info icon (green triangle with explanation mark)
+
+ - added info window function: xsane_back_gtk_info
+
+ - ADF mode: if first scan fails with NO_DOCS => error message: no docs
+ if another scan ends with NO_DOCS => info message: scanned pages: #
+
+ - added some accelerator keys. The key definitions may change any time,
+ this is a first test version. The key-definitions are listed in xsane.ACCELKEYS
+
+ - added grab_default for close buttton in info and about dialog
+
+ - changed test for sane-libs in aclocal.m4, "-lintl" is removed from
+ the output of "sane-config --libs"
+ (this caused segfaults when gettext is included in libc)
+
+ - added about translation dialog
+
+ - added options "-p", "--print-filenames", if enabled and xsane runs in scanmode it
+ prints names of produced image files to stdout
+
+ - added options "-N name", "--force-filename name", if set the user filename selection
+ is disabled and the given name is used as filename. The filename should be of the
+ form "basename-00001.filetype". The size of the counter has to be suffisunt large.
+
+ - some changes in configure script (missing libs needed by sane are not linked any more)
+
+
+xsane-0.64 -> 0.65:
+-------------------
+
+ - src/Makefile.in: added usage of SANE_CFLAGS and GTK_CFLAGS
+
+ - added secure password transmission for authorisation (md5digest)
+
+ - ~/.sane/pass is used for reading user:password:resource from file before asking the user
+
+ - configure: removed test for X (AC_PATH_X), this is done in GTK (gtk-config)
+ gtk includes and libs are used for png test (because png often is in X directories)
+
+ - changed xsane_*_with_pixmap:
+ old status: routines used xsane.histogram_dialog->window as window for gdk_pixmap_create_from_xpm_d()
+ this made problems with preview window if X default color depth differd from X color depth
+ new status: routines are called with parameter GdkWindow *window now.
+
+
+xsane-0.65 -> 0.66:
+-------------------
+
+ - added setup menu for Automatic Document Feeder Scansource
+ (ADF-Scansource name was predefined to "Automatic Document Feeder" before,
+ now it can be defined for each device (is saved in decice settings))
+
+ - changed setup for lineart->grayscale scanmode from entry to menu with available scanmodes
+
+ - updated xsane.WIN32-compilation and src/Makefile.in.WIN32
+ I compiled a pre version of xsane-0.66 with the cygwin snapshot from 2000-12-10 and
+ gtk+-dev-20001023.zip, glib-dev-20001023.zip, libiconv-dev-20001007.zip
+ with the way described in xsane.WIN32-compilation without any problems.
+ The problem with the fork() seems to be solved in this cygwin version.
+
+ - updated aclocal.m4 and configure (gimp test)
+
+
+xsane-0.66 -> 0.67:
+-------------------
+
+ - added test if (xsane.adf_scansource) before usage of xsane.adf_scansource
+ (caused segfault when no ADF Scanmode was defined in setup)
+
+
+xsane-0.67 -> 0.68:
+-------------------
+
+ - changed src/Makefile.in.WIN32 so that the installation directory can
+ be selected by configure --prefix=... and the used paths are more
+ common to the one on unix (/usr/local => c:\sane)
+
+ - changed src/Makefile.in.WIN32 for gimp support (uncomment GIMP_LIBS)
+
+ - WIN32+gimp-support: set_gimp_PLUG_IN_INFO_PTR(&PLUG_IN_INFO) is called
+
+ - added extern GimpPlugIn PLUG_IN_INFO to xsane.h (needed in xsane.c for win32)
+
+ - replaced free(xsane.tile) by g_free(xsane.tile)
+ (the free(...) caused a crash on win32)
+
+ - changed aclocal.m4: gimp test does work with gimp-1.0.x version again
+
+ - renamed xsane.WIN32 and xsane.WIN32-compilation to xsane-WIN32.txt
+ and xsane-WIN32-compilation.txt (it is easer to use on windows)
+
+ - removed (#ifndef _WIN32) gtk_set_locale() from xsane.c for win32
+ (when it was called gimp plugin created transparent images)
+
+ - saved xsane-style.rc in DOS mode (\n\r)
+
+
+xsane-0.68 -> 0.69:
+-------------------
+
+ - some changes in aclocal.m4 for gimp test:
+ - When gimp-config is not found, the output of gtk-config is used
+ - GTK_CFLAGS or GIMP_CFLAGS are added to CPPFLAGS for test for gimp.h and gimpfeatures.h
+ - GTK_CFLAGS and GTK_LIBS are erased when gimp_config is available
+
+ - changed src/Makefile.in: GIMP_CFLAGS is used now
+
+ - saved xsane-style.rc in unix mode (\n) because DOS mode (\n\r) made problems
+
+ - added new way to call netscape remote command:
+ at first xsane tries to find out if netscape is running, for this it tries to
+ find out if there is a link "~/.netscape/lock". If this link exists netscape should
+ be running and xsane calls "netscape -remote openFile(...)". Otherwise xsane calls
+ "netscape ..."
+
+ - changed keywork "netscape-remote" as docviewer to "netscape"
+
+ - changed way to find out home directory in xsane-back-gtk.c:
+ now getenv(ENVIRONMENT_HOME_DIR_NAME) is used instead of getpwuid(...)->pw_dir.
+ (getenv is usable for Win32 and unix, getpwuid makes problems on Win32)
+
+
+
+xsane-0.69 -> 0.70:
+-------------------
+
+ - removed some bugs in text for pipette in sane-xsane-preview-doc.html
+
+ - changed acloacal.m4: when gimp-config is not found we look for gimptool
+
+ - for WIN32 the filetypes listed in the filetype menu are ".jpg" and ".tif"
+ instead of ".jpeg" and ".tiff"
+
+ - added manufacturer image to bottom of standard and advanced options window.
+ The name of the image is "vendor"-logo.xpm" or "sane-"backend"-logo.xpm",
+ the size of the image should be 256x48 pixels with a transparent background.
+
+ - changed src/Makfile.in: *-logo.xpm are installed (make install) and
+ uninstalled (make uninstall) now
+
+ - changed src/Makfile.in.WIN32: *-logo.xpm are installed (make install)now
+
+ - several changes in xsane-preview.c for rotating preview by 0/90/180/270 degree
+ the preview rotation is ready now
+
+ - added new routine xsane_save_rotate_image to xsane-save.c
+
+ - added new routine xsane_save_grayscale_image_as_lineart to xsane-save.c
+
+ - lineart images are saved in grayscale mode at first if transformation has to be done
+
+ - xsane_save_rotate_image is called beween scanning and saving image
+
+ - xsane_save_grayscale_image_as_lineart is called beween rotating and saving image
+
+ - aclocal.m4/configure: changed sane_major_version etc to SANE_CURRENT_MAJOR
+
+ - fileheader of raw format changed. This format is not defined, but some programs
+ can read it as 16 bit pnm binary data, so we use a compatible header now:
+ P5
+ # This file is in a not public defined data format.
+ # It is a 16 bit gray binary format.
+ # Some programs can read this as pnm/pgm format.
+ # SANE data follows.
+ 100 100
+ 65535
+
+
+
+xsane-0.70 -> 0.71:
+-------------------
+
+ - corrected aspect ratio in xsane-preview.c in routine that calculates preview resolution
+
+ - corrected user definition of maximum scanner surface
+
+ - added translation of preview menu maximum surface(preset area)
+
+ - added tooltip for maximum surface(preset area) menu and rotation menu
+
+ - finished preview_autoselect_scanarea()
+
+ - added autoselect scanarea button to preview window
+
+ - changed automaitic increase of filename counter:
+ - the step direction and length is not forced to +1,
+ the user can select one of the values -2/-1/0/+1/+2.
+ It is defined by preferences.filename_counter_step.
+ This way it is possible to scan double sided papers
+ with correct automatic page number generation.
+ - the digits are not increased by a loop any more,
+ the number is read, the new number is calculated
+ and the new filename is generated. The user can
+ select a minimum filename counter length now,
+ it is defined in preferences.filename_counter_len
+ and can be selected by the user in setup/saving options
+ - when the number of digits are not enough the number is
+ automatically increased now.
+ - a message comes up when counter gets smaller than 0
+
+ - pipette the color is averaged on a square, the size of the
+ square can be defined by the user
+
+ - updated html doc (not complete)
+
+ - added tooltips to permission buttons (r,w,x)
+ permission texts: user, group, all, read, write, execute can be translated now.
+
+ - added japanese translation (thanks to Kimizuka Tomokazu <sgtom@pluto.dti.ne.jp>)
+
+ - renamed oldgimp.h to gimp-1_0-compat.h
+
+
+xsane-0.71 -> 0.72:
+-------------------
+
+ - changed default postscript viewer from xv to gv
+
+ - moved int i, select = 1; in static void xsane_saving_notebook() out of #ifdef HAVE_LIBTIFF block
+
+ - filename counter length correction is only done in sane_start when there is a user selectable filename
+
+ - if external filename is given the counter len is not touched when not necessary
+
+ - added "insert file" function to fax mode
+
+ - added output of gamma, brightness and contrast settings to pnm headers
+
+ - updated xsane online-documentation (html)
+
+ - added license dialog, it is shown when it was not already accepted for this xsane version
+ (tested in local xsane.rc)
+
+ - about and about translation dialogs do not set XSanes sensitivity to false any more
+
+ - copyright sign is now always defined as "(c)", can be translated with \251 if character is available
+
+ - device preferences are not saved/loaded any more when file selection is aborted
+
+ - in xsane_info_dialog the scanner type is translated now
+
+ - added accelerator keys to device selection dialog:
+ Escape -> Cancel
+ F1,F2,.. -> select device number 1,2,...
+
+ - added usleep(100ms) in device selection dialog before scanning for devices, this way we make
+ sure that the text "scanning for devices" is displayed
+
+ - added some accelarator keys to the preview window:
+ Alt ESC Cancel Preview Scan
+ Alt KP+ Zoom in
+ Alt KP- Zoom out
+ Alt KP* Zoom not
+ Alt KP/ Zoom undo
+ Alt A Autoselect scanarea
+ Alt V Select visible scanarea
+
+ - added accelerator key Escape to file-selection-dialog, about-dialog and about-translation-dialog
+ attached to cancel/close button
+
+ - updated translations:
+ - german translation
+ - czech translation - thanks to Stanislav Brabec <utx@penguin.cz>
+ - turkish translation - thanks to Togan Muftuoglo <toganm@yahoo.com>
+ - japanese translation - thanks to Kimizuka Tomokazu <sgtom@pluto.dti.ne.jp>
+ - french translation - thanks to Laurent Grawet <laurent.grawet@ibelgique.com>
+
+
+xsane-0.72 -> 0.73:
+-------------------
+
+ - moved call to display license after test for command line options,
+ so it is not necessary to accept the license to print help/version/license
+
+ - added slowenian translation, thanks to Ales Kosir <ales.kosir@zaslon.com>
+
+ - an error message is printed when a preview file could not be created
+
+ - netscape is called with option new-window now
+
+ - rotating scanned image uses memory mapped image file if possible
+ thanks to Salvador Pinto Abreu <spa@di.uevora.pt> for his suggestions
+
+ - xsane windows are set insensitive while faxproject is generated/queued.
+ For this waitpid is called in a loop.
+
+ - before a html documentation is displayed xsane does test if the requetsted file
+ does exist in the subdirectory language_dir = gettext("language_dir")
+ (what e.g. gives "de" for german). If it does exist it is displayed, otherwise
+ the original english doc is displayed.
+ "language_dir" has to be part of the translation table, it should be
+ translated to the correct translation direcotry name, e.g. de for german
+
+ - preferences.printer momory is defined dynamicall now (has been defined to 10
+ pointers to printerdefinition before)
+
+ - chaged with of some setup fields - have been too small for large fonts
+
+ - xsane-scan:xsane_scan_dialog():
+ added test for color scan to the test if gamma tables for red, green and blue
+ exists (coolscan backend defines color gamma tables in grayscale mode
+ what caused segfault in xsane).
+
+ - added preselect scanarea after preview scan (selection in enhancment setup)
+
+ - added automatic color correction after preview scan (selection in enhancement setup)
+
+ - removed bug (that caused segfault when opening setup dialog) in xsane_enhance_notebook
+ while setting up menu itmes for grayscale scanmode selection:
+ replaced xsane.well_known.scanSOURCE xsane.well_known.scanMODE
+
+ - added option in prefences/setup saving options: save device preferences at exit
+
+ - now using always gdk_window_get_root_origin() to get a position of a window on desktop
+
+
+xsane-0.73 -> 0.74:
+-------------------
+
+ - transfering data to gimp plugin now is handled like saving to a special file format.
+ this way it is possibe to support handheld scanners and to get advance of
+ some xsane features like image rotation.
+
+ - corrected mmap() part in xsane-save.c/rotation:
+ data is mmaped with offset pos0, the offset pos0 is removed from pointer calculation
+
+ - changed xsane_enhancement_by_histogram() and xsane_histogram_to_gamma(): the ranges
+ for gamma, brightness and contrast are checked correct now
+
+ - added function preview_transform_coordinate_window_to_image(), it is used in
+ preview_get_color(). Pipette functions do work with rotated preview now.
+
+ - corrected bug in ruler calculation. The rulers do work correct now with rotated preview
+
+ - corrected bug in reading 16 bit preview data: sizeof(buf16)-> sizeof(buf)
+ now preview transformation from 16 to 8 bit is as fast as 8 bit preview
+
+ - preset areas are defined with position (new) and size (old) now.
+
+ - surface changes (size and rotation) do not change the selected preview area
+ any more if possible
+
+
+xsane-0.74 -> 0.75:
+-------------------
+
+ - xsane_read_image_data() does reduce 16 bit images to 8 bit when necessary/requested
+
+ - when scanning with 16 bits/color in gimp mode, to jpeg-file or postscript-file
+ xsane does ask if the image should be reduced to 8 bits/color
+
+ - added functions for mirroring preview and mirroring while rotating scan
+
+ - moved saving device preferences from xsane_quit() to xsane_scan_win_delete()
+ and replaced call to xsane_quit() by xsane_exit() in choose_device dialog
+ (this could cause a segfault).
+
+ - corrected a bug in calculation of histogram for rotation of 270 degree
+
+ - added xsane_bound_int(&mid, min, max) to xsane_calculate_auto_enhancement()
+ a segfault could occur when autoenhancement was activated when only a few
+ preview-pixels where available for calculation of autoenhancement values
+
+
+xsane-0.75 -> 0.76:
+-------------------
+
+ - rotoation routine: mmap does map the full image file (not only from pos0)
+
+ - added xsane.depth, it stores the depth of the scanned image,
+ it may differ from xsane.param.depth when lineart is converted to grayscale
+ or 16 bit image is reduced to 8 bit
+
+ - preview: preset_area list is read from xsane.rc
+
+ - added context menu to preview preset_area menu, the preset areas can
+ be changed by user now
+
+ - transformation 16->8 bits/color: replaced val/256 by val >> 8,
+ a user said that his compiler is too stupid for such an optimization
+
+ - updated translations: cs, de, fr, ja, sv
+
+ - calibration image is not rotated any more
+
+ - corrected exposure event handling (drawing of the selection frame)
+
+ - added call of preview_restore_image() at the beginning of preview_update_surface().
+ This way the correct image parameters are used for the calculation in
+ preview_update_surface(). preview_restore_image() does not paint the image any
+ more, this is done at the end of preview_update_surface() now.
+
+ - corrected bug in xsane_calculate_histogram() with zoomed and rotated preview
+ with angels 90 and 270 degree.
+
+ - info dialog does print sane version as #.#.# (instead of #.#) again.
+ sane-dll will return the version of the sane package from sane-1.0.5
+ so it is possible to find out the used library version in most cases.
+
+ - xsane-scan.c: scan data is not written with fwrite() in 1 byte steps
+ any more because it looks like some systems (at least HP 9000/B1000
+ (processor PA8500/300 MHz, 384 MB RAM) operating system HP-UX 10.20)
+ have problems with this. The data is stored in the read buffer when
+ any transformation (gamma, 16->8 bit) is needed, the complete
+ buffer that is read with sane_read is written in one part.
+
+ - added xsane.spec - created by Sebastian Wenzler <wenzler@techie.com>
+
+ - autoselection of scanarea is not done for startimage
+
+ - preview image files (level 0-2) are removed and recreated when
+ the temporary directory is changed in the saving setup
+ (Preview scan has to be reacquried after changing the temporary directory)
+
+ - directory selection dialogs (change working directory and select temporary directory)
+ do not display filelist and delete-file widgets.
+
+ - xsane-preview.c and xsane-gamma.c:
+ - raw preview data is stored with 16 bits/color
+ - gamma correction is done with (8-16) bit to 8 bit enhanced data
+ the gamma input bits is set to 12 (but could be changed if we
+ add a widget that can change this value)
+ 12 bit = 4096 values for each gamma table, this is a good
+ compromise between image quality, speed and memory usage
+ - All this slows down gamma and histogram routines, because of this
+ I accelerated these routines again:
+ - replaced field indexes by optimized pointer routines
+ - preview_motion_event_handler improved: continuous mode does use
+ a timer function now. this way the selection has a higher priority
+ than displaying the histograms.
+ - the raw histogram is only recalculated and displayed when it has been changed.
+
+ - improved event handling of the histogram sliders:
+ when continuous mode is active xsane_enhancement_by_histogram() is not called
+ directly any more, it is called via the xsane_slider_hold_event handler now
+
+ - split setup notebook "saving options" into "saving options" and "image options"
+
+ - added option "reduce 16 bit image to 8 bit" to setup/image options
+ This way you can use the preview with the full bit depth the scanner
+ can output and save it as image with 8 bits/color.
+ This is interesting e.g. when you scan slides or negatives.
+
+ - changed ouput in parameter box from "width x height (size unit)" to
+ "witdh x height x depth (size unit)"
+
+ - filetype menu is displayed correct now when xsane main window is rebuild
+
+ - removed a bug in aclocal.m4 wehn gimp was not found
+
+
+xsane-0.76 -> 0.77:
+-------------------
+
+ - removed "+0.5" in calculation of gamma table. A gamma value of 1.000 does
+ not change the image data any more
+
+ - xsane_update_gamma_curve(TRUE /* update raw */); is called when setup dialog is closed
+ (apply and cancel), now the preview is displayed with correct gamma values when setup
+ dialog is closed.
+
+ - configure does set gtk parameters correct when compiling gimp testprogram failed
+
+ - xsane internal gamma tables for scanning are created after sane_start is called,
+ this makes sure that the gamma table size calculated with param.depth really is correct
+
+ - setup uses selected length unit
+
+ - length unit is printed in top left edge between rulers in preview window
+
+ - when length unit is saved as inch the length unit submenu "in" now is selected at program start
+
+ - removed xsane.spec because I got a mail that it does not produce working installations
+
+ - length unit also can be selected now when backend length unit is pixel, so it
+ is possible to change the length unit of the setup window
+
+ - save device preferneces dialog is opened when user closes setup dialog and any
+ device options have been changed
+
+ - replaced all fprintf(stderr, ... by DBG(...
+
+ - updated translations: cs, de, fr, ja, sv, tr
+
+
+xsane-0.77 -> 0.78:
+-------------------
+
+ - when the backend defines a new scanner surface it is updated correct now
+ when the reduced preview surface does not limit the new surface
+ (added expand_surface to preview_update_surface()
+
+ - preview scan is aborted when backend sends more image data than expected,
+ the preview image is saved in this case
+
+ - the preview image is saved now when the preview scan is canceld, so the
+ already scanned part of the preview keeps visible
+
+ - when two preview levels have comparable quality it is used the preview
+ that is more up to date (scanned later)
+
+ - applied sanei_wire.c patches from sane-backends-1.0.5 to xsane-rc-io.c
+
+ - changed default values: histogram, and standard options windows are visible by default now
+
+ - added function (pirate icon) to delete preview image cache
+
+ - added mail project dialog
+
+ - added mail setup dialog
+
+ - added routines for sending images by mail (base64encoding, mail headers, smtp headers)
+
+
+xsane-0.78 -> 0.79:
+-------------------
+
+ - added test for lstat in configure/configure.in/config.h.in
+
+ - when lstat is available it is used for testing netscape lock file,
+ otherwise stat is used
+
+ - changed order of include lines in xsane-save.c
+
+ - for OS/2: in xsane_back_gtk_make_path() a colon ":" is replacte by "_"
+
+ - changed last argument of xsane_back_gtk_set_tooltip from char to gchar
+
+ - added function xsane_widget_test_uposition(GtkWidget *gtk_window)
+ that does test if gdk_window_get_deskrelative_origin or
+ gdk_window_get_root_origin gives the correct positions.
+ test is done with "scanning for devices" window.
+
+ - in xsane.c changed #if 1 to #ifdef BUGGY_GTK_TOOLTIPS_SET_COLORS
+
+ - split preview_increment_image_y in ... and preview_test_image_y,
+ test is called before a byte is copied into the buffer
+
+ - xsane-preview.c: preview_scan_start: preview image memory is only cleaned for
+ single pass mode and 1 pass of 3 pass mode (3 pass preview does work again)
+
+ - mail is sent in subprocess
+
+ - added "MIME-Version: 1.0" to mail header
+
+ - added mail status in mailfile, error messages while sending are stored in this file too
+
+ - aclocal.m4 test for gimp: moved saving of GTK_* to beginning of routine,
+ the GTK_* things should be set correct now when gimp-config is not found
+
+ - xsane.h: mail is deactivated when png is not available
+
+ - added preferences menu item "Medium":
+ The highlight/shadow/gamma values are defined to the intensity range
+ of the selected medium (e.g. agfa negative).
+ If possible the analog highlight/shadow function is used,
+ if not then the scanner internal digital gamma table is used
+ in bot then xsanes internal gamma correction is used.
+ When the correct medium is selected it only is necessary to
+ do "soft" color corrections. Because of this the 400% values
+ in brightness/contrast have been reduced to 100% values now.
+ This is a typically range that e.g. also is used by the gimp.
+ If someone needs the larger ranges, change the following definitions
+ in sane.h:
+ #define XSANE_BRIGHTNESS_MIN -100.0
+ #define XSANE_BRIGHTNESS_MAX 100.0
+ #define XSANE_CONTRAST_GRAY_MIN -100.0
+ #define XSANE_CONTRAST_MIN -100.0
+ #define XSANE_CONTRAST_MAX 100.0
+
+ - moved call xsane_update_counter_in_filename as correction for counter length from
+ xsane_start_scan to xsane_scan_dialog (before open command), this way the
+ counter also is correct when the file is not transformed (pnm).
+
+ - corrected xsane_update_counter_in_filename: removed some pointer bugs when skipping
+ exisiting filenames
+
+ - added test for os2.h to configure/configure.in
+
+ - added set_gimp_PLUG_IN_INFO(&PLUG_IN_INFO); for os2
+
+ - removed "+0.5" in calculation of negative preview gamma table. A gamma value of 1.000 does
+ not change the image data any more
+
+ - effective user id is set to real user id in all subprocesses
+
+ - cancel preview does now only call sane_cancel and tests for SANE_STATUS_CANCELLED while
+ reading image data.
+
+
+xsane-0.79 -> 0.80:
+-------------------
+
+ - moved setting of medium gamma correction values from xsane_set_medium_callback in xsane.c
+ to xsane_set_medium in xsane-gamma.c
+
+ - xsane_set_medium is called in xsane_scan_dialog and in preview_scan
+
+ - replaced predefined areas 10x14 cm and 14x10 cm by 10x15 cm and 15x10 cm
+
+ - updated documentation (partly)
+
+ - correcting image height when canceling conversion to jpeg format,
+ program does not crash any more
+
+ - added russian translation - thanks to John Profic <profic@lrn.ru>
+
+ - solved problem with lineart image saved as png (wrong byte width)
+
+ - moved medium selection menue from preferences menu to xsane main dialog
+
+ - inactive backend options are not saved to the device-rc file
+
+ - added progress_bar to the paramter list of xsane_save_*
+
+ - added xsane-viewer.c and xsane-viewer.h to the src directory
+
+ - added fflush(outfile); to end of rotation routine, this seems to
+ solve a problem of incomplete files when rotating the image file
+
+ - added routine xsane_read_pnm_header to get correct header offset
+ and read geometrie values
+
+ - for saving routines now the header offset and geometrie values of
+ xsane_load_pnm_header are used instead of xsanes internal values
+
+ - changed handling of color identification:
+ old: xsane_color == 0 => grayscale/lineart
+ new: xsane_colors == 1 => grayscale/lineart
+
+ - when image is saved as postscript file (not copy mode etc)
+ then the bounding box exactly surrounds the image now.
+ Removed psfile parts from setup and preferences.
+
+ - xsane_widget_test_uposition(gtk_window) does wait now until
+ gtk_window is realized before gtk_widget_set/get_uposition
+ test is done
+
+ - for hpux added include of alloca.h to sane.h
+
+ - added function xsane_debug_message that is used for DBG when
+ gcc is not used because defines with variable arguments is
+ not ANSI.
+
+ - updated translations: cs, de, fr, ja, ru, tr
+
+
+xsane-0.80 -> 0.81:
+-------------------
+
+ - xsane-gamma.c:
+ void xsane_calculate_raw_histogram(void): changed "maxval_raw = 0;" to "... = 1;"
+ void xsane_calculate_enh_histogram(void): changed "maxval_enh = 0;" to "... = 1;"
+ this avoids a floating point exception on some systems
+
+ - xsane-viewer.c: set default viewer size from 400, 400 to
+ 0.3 * screen_width, 0.5 * screen height
+
+ - xsane-save.c: xsane_save_rotate_image() swaps x and y resolution when
+ rotation 90 or 270 degree
+
+ - removed slash at end of mkdir("~/.sane/xsane/"), OS/2 did not like this
+
+ - when temporary direcotry is not defined (xsane.rc does not exist)
+ then xsane at first tries to read the environment variable
+ defined by ENVIRONMENT_TEMP_DIR_NAME (default TMP) and if that
+ does not exist it uses a predefined (TEMP_PATH) path.
+ When xsane.rc does exist the temporary directory stored in xsane.rc is used.
+
+ - added blur and despeckle selction dialog to select filter radius
+
+ - changed viewer and preview window type from GTK_WINDOW_DIALOG to GTK_WINDOW_TOPLEVEL
+
+ - preview gamma does not have any effect to the enhanced histogram any more
+
+ - preview does medium gamma correction now when scanner does not support
+ gamma tables
+
+ - medium selection is disabled for lineart mode, gamma table is set to default
+ in this case. This guarantees that advanced lineart preview (by grayscale scan)
+ does work conform to the real scan.
+
+ - default resolution set to 72 dpi (if no resolution is defined by backend)
+
+ - added scanning/valid/incomplete/invalid pixmap to preview action area
+
+ - preview cancel does call preview_get_image_data after canceling the
+ scan, this makes sure that xsane does detect a cancled scan when
+ gdk_input does not detect closing the select_fd (what happens when
+ the backend does close the select_fd too early (what is allowed by
+ the sane standard))
+
+ - scan cancel does make sure that xsane_read_image_data is run
+ after sane_cancel is called
+
+ - added SIGTERM handler: xsane_quit() is called on SIGTERM
+
+ - when faxproject/xsane-fax-list can not be created an error
+ message is printed and the creation of the project is aborted
+
+ - in saving mode temporary conversion file is removed after conversion
+
+ - corrected wrong filenames while saving mail image after scanning
+
+ - added ocr function to viewer
+
+
+xsane-0.81 -> 0.82:
+-------------------
+
+ - number of medium items and area definitions is calculated by size of the
+ structure now.
+
+ - Improved security of temporary file handling:
+ - replaced mktemp() my mkstemp() in xsane_back_gtk_make_path.
+ The filename format changed because mkstemp creates the file
+ and so it is not possible to add an extension and the file
+ has to end with "XXXXXX" what is replaced by the safe random number
+ generated by mkstemp.
+
+ - before creating the image filename in xsane-scan.c the filename
+ is removed only if the created file is not a temporary file.
+
+ - removed remove() in xsane_save_image_as_lineart()
+
+ - added routine xsane_create_secure_file() that makes sure that the created
+ file does not follow a symlink
+
+
+ - when an error occurs while saving a file or the saving is aborted then
+ the created image is removed
+
+ - swaped order of opening inputfile and outputfile (outputfile now first) in
+ xsane_save_image_as_lineart()
+
+ - viewer_save_callback(): several changes for saving as lineart
+
+ - moved xsane_update_histogram() at end of xsane_update_gamma_curve()
+ into if (xsane.preview) block - this avoids segfault on some systems
+
+ - despeckle radius and blur radius dialogs are closed before routine is started
+
+ - removed bug in despeckle routine
+
+ - increased speed of despeckle routine by about factor 6
+
+ - changed despeckle radius range from 1-9 to 2-10
+
+ - changed blur radius range from 1-9 to 2-20
+
+ - routines xsane_draw_histogram_with_*() do not have parameter "int invert" any more,
+ the inversion already is done in the medium dependant histogram of the preview.
+
+ - added image scaling routine to viewer
+
+ - added spanish translation (es.po) - thanks to
+ Gustavo D. Vranjes <gvranjes@abaconet.com.ar>
+
+ - added dutch translation (nl.po) - thanks to
+ "Wim Sinke" <sinke@wirehub.nl>
+
+
+xsane-0.82 -> 0.83:
+-------------------
+
+ - scaling image size does work for 16 bit images now
+
+ - xsane_create_secure_file() now always removes the file (not only if it is a link),
+ this is needed because open(..., O_EXCL) does fail when the file exists (what can
+ happend when we want to overwrite an existing file).
+
+ - removed buggy ";" at end of if statement in xsane_enhancement_negative_callback
+
+ - default mode is viewer instead of saving mode
+
+ - updated po-files: nl
+
+ - xsane-front-gtk.c: void xsane_progress_cancel(GtkWidget *widget, gpointer data)
+ changed GtkSignalFunc callback = (GtkSignalFunc) data; to
+ GtkFunction callback = (GtkFunction) data;
+
+ - added media, experimentally determined values with UMAX Powerlook3:
+ Agfa XRG 200-4
+ Agfa HDC 100
+ Konica VX 100
+ Rossmann HR 100
+
+ - preview.c: preview_update_surface calls preview_update_selection at first to
+ make sure that the preview selection is up to date. Now xsane comes up with
+ the saved area selection when e.g. transparency mode is stored which forces
+ a change of the surface
+
+ - removed parameter negative from xsane_calculate_auto_enhancement,
+ autoenhancement does work again when negative button is pressed
+
+ - added mode "--Medium-definition"/"-M":
+ - preview is done without scanner gamma correction for medium
+ - added two icons to the main dialog: medium new and medium delete
+
+ - added xsanedocdir to doc/Makefile.in and src/Makefile.in
+ the path is used by xsane.c and the mentioned Makefiles
+
+ - removed in xsane-viewer.c, line 222: xsane_create_secure_file(outputfilename) before
+ xsane_save_image_as(...)
+
+
+xsane-0.83 -> 0.84:
+-------------------
+
+ - if xsane-license.txt is not found when it shall be displayed then xsane does
+ print an error message and behaves like when the user did not accept the license.
+
+ - if xsane-startimage.pnm is not found then an image of the size 1x1 pixel is
+ created instead. This should normally never happen but some people start
+ xsane without that it has been installed. Then the behaviour of the preview
+ has been undefined before.
+
+ - removed "rm -f $cache_file" when gtk or sane was not found in configure.in,
+ this was bad when a user used a global cache file
+
+ - viewer is created with image size - if possible
+
+ - added serbian translation file (sr.po) - thanks to Duko Rusmir <drusmir@gmx.ch>
+
+ - xsane_sigpipe_handler: changed
+ xsane_cancel_save(0);
+ to
+ xsane_cancel_save(&xsane.cancel_save);
+
+ - updated po-files: es, fr, ja, nl, ru, sr, tr
+
+ - x and y resolution information are added to jpeg and png files now
+
+ - preview zoom buttons are now also available when backend does geometry
+ options with unit pixel
+
+ - added Plustek logo
+
+
+xsane-0.84 -> 0.85:
+-------------------
+
+ - replaced xsane_control_option by back_gtk_set_option in xsane_set_resolution.
+ if changing resolution causes a SANE_RELOAD_OPTIONS this is handled now.
+
+ - replaced xsane_save_scaled_image by a routine that does a blur over all covered pixel
+ insetad of using one pixel in the middle of the covered area
+
+ - changed radius definition of blur and despeckle, now r=1 means nothing happens
+
+ - extended blur routine, radius is now of type float, so you e.g. can blur with a
+ radius of 1.3.
+
+ - replaced all xsane*_scale_new* by xsane*_range_new*, the range can be displayed as:
+ - slider (scale) + value on right
+ - slider (scrollbar) + value on right
+ - spinbutton
+ - scale + spinbutton
+ - scrollbar + spinbutton
+ the user can select, which disply mode he likes to use.
+
+ - added timeout callback for xsane_resolution to set correct quantisation
+
+ - Some people complained that the user has to accept the GPL to use the program.
+ In fact from the view of the GPL it is not necessary that the user accepts
+ the license to run the program. But it is important that the user reads
+ and accepts the "NO WARRANTY" part of the license. Due to this I created
+ two license dialogs:
+ - EULA-Dialog displays the "NO WARRANTY" part of the GPL
+ - GPL-Dialog displays the compelte GPL
+ To run the program the user has to accept the "NO WARRANTY" agreement
+ after installation and each update of xsane.
+ I hope this compromise is usable for every side. Please understand and
+ accept that it is necessary in some countries that the user accepts the
+ no warranty agreement to make sure that the authors and others do not
+ have to pay any compensation in the case of any damage
+
+ - removed bug in scan and in preview-scan 16 bit routines when
+ sane_read returned with odd number of bytes
+
+ - reduced maximum filename counter length from 10 digits to 9 digits.
+ (10 digits need more than long int, long long int is not portable (not ANSI C))
+
+ - update_counter_in_filename does not touch the counter when step = 0 and
+ min_length = 0
+
+ - added preview function autoraise_scanarea (may be the name is stupid?):
+ if you select this function and click to an image then the image
+ is selected as scanarea
+
+ - colored preview pipette icons and zoom icons
+
+ - Changes/preparation for gtk+-2.0:
+
+ - added xsane-gtk-1_x-compat.h that wraps gtk+-2.0 functions to gtk+-1.x functions
+ when gtk+-1.x is used
+
+ - replaced all gtk_accel_group_attach() by gtk_window_add_accel_group() and
+ gtk_menu_set_accel_group()
+
+ - repleaced all GTK_WINDOW_DIALOG by GTK_WINDOW_TOPLEVEL
+
+ - addeded alternative part that uses gtk_text_view (gtk+-2.0) instead of gtk_text (gtk+-1.x)
+
+ - repleaced all gtk_signal_connect* by g_signal_connect* and defined makros for gtk+-1.x
+ - repleaced all gtk_signal_handler* by g_signal_handlers* and defined makros for gtk+-1.x
+
+ - repleaced (gtk+-1.x)
+ gtk_widget_draw(hist->pixmapwid, &rect);
+ for gtk+-2.0 by
+ gtk_widget_queue_draw(hist->pixmapwid);
+ gdk_window_process_updates(hist->pixmapwid->window, FALSE);
+
+ - filename entry is not set directly by gtk_entry_set_text(), it is set
+ by xsane_set_filename() now
+
+
+xsane-0.85 -> 0.86:
+-------------------
+
+ - reversed the change of xsane-0.84->0.85 that replaced
+ xsane_control_option by back_gtk_set_option in xsane_set_resolution.
+ If resolution change causes a SANE_RELOAD_OPTIONS this is not handled any
+ more.
+ Reason: It caused a segfault in different situations when panel_rebuild
+ was called. I tried to implement that it works like expected, but the
+ resolution option needs a lot of special cases handling that makes it
+ very hard to handle this. Also the gtk slider does not work when
+ the panel is rebuild each time when the value is changed.
+
+ - increased vendor length from 9 to 12 characters.
+
+ - changed dialog of viewer/scale
+ - The dialog uses xsane_range instead of a spinbutton now
+ - The scale sliders for x and y can be binded now,
+
+ - added %%Pages: 1 1 to header of postscript files in xsane-save.c
+
+ - changed preview zoom icons and function names:
+ - changed icon and name of zoom_in to zoom_area
+ - added new function zoom_in: if enabled a zoom cursor
+ is selected and when the user clicks to the preview
+ with the left or middle mouse button then it is zoomed
+ to the clicked position
+
+
+xsane-0.86 -> 0.87:
+-------------------
+
+ - preview_update_maximum_output_size: function sets block bit
+ at beginning of routine and resets it at end of routine, this
+ way it is made sure that the function is not called
+ recursive. This avoids infinite loops when backend
+ changes geometry options.
+
+ - xsane-device-preferences.c: saving and loading device options
+ does test for num_options now
+
+ - added xsane.ipc_pipefd and gdk_input_add(xsane.ipc_pipefd,...),
+ a child process can write to the pipe and xsane displays the
+ text in an error dialog (not for win32)
+ - added inter process communication pipe. When a child process
+ wants to display an error message it can write the message to
+ ipc_pipefd[1] and xsane will display the message in an error dialog
+
+ - xsane_back_gtk_decision_dialog can handle multiple dialogs now,
+ (used by xsane_back_gtk_error/warning/message/info
+
+ - added clear/redraw histogram to xsane_set_sensitivity()
+ removed clear/redraw histogram near calls to xsane_set_sensitivity()
+
+ - add xsane_sigchld_handler to cleanup zombie child processes,
+ this replaces xsane_mail_send_process_exited()
+
+ - changed progress bar pipe of ocr program:
+ -default option is "-x" (gocr)
+ -default progress keyword is "" (gocr)
+ -expects to values: "%d %d\r", main, sub
+ first value is used for progress bar, both are printed as text
+
+ - moved at the end of function xsane_device_dialog()
+ the call xsane_set_all_resolutions(); after xsane_refresh_dialog();
+ this way the backend default resolution is not overwritten at program startup
+
+ - changed calculation of aspect for startimage in preview_update_surface() from image aspect
+ to preview aspect
+
+ - xsane-scan.c saving lineart image as grayscale does work correct now:
+ - fwrite writes correct number of bytes
+ - x value is stored in global struct XSane so that it is not reset at
+ the beginning of xsane_read_image_data()
+
+ - moved ocr routine from xsane-viewer.c to xsane-save.c
+
+ - ocr routine can be selected by saving image as ".txt" or ".text" format
+
+ - added filetype menu to fileselection dialog
+
+ - changed behaviour of filetype menues: the extension immedeatly is added to/changed in
+ the filename (and is not added/corrected when the scan begins).
+ Now the filetype menu does behave the same way as gimp does. This means that
+ you e.g. can select filetype "jpeg" and name the file "image.pnm", in this
+ case the filetype is (like selected) "jpeg". I do not like this, but this is
+ how most programs do handle this situation.
+
+ - filetype is saved in preferences
+
+ - filetype "by ext" is handled as "" instead of NULL now
+
+ - selected working directory is saved in xsane preferences
+
+ - error_xpm, warning_xpm and info_xpm got a little 3d look
+
+ - added test for gtk2 to aclocal.m4 and configure.in/configure
+
+ - added bind_textdomain_codeset(xsane.prog_name, "UTF-8"); after bindtextdomain
+
+ - gtk-fileselection for selecting directories: for gtk2:
+ - selection_entry hidden
+ - added "/." to end of predefined path
+ - for gtk1 the text in selection_entry is removed from the filename after selection has finished
+
+ - updated translations: de, tr, ja, es, fr, cs, sv
+
+ - new translation: sk (slovakian), thanks to Zdenko Podobn <zdpo@mailbox.sk>
+
+ - changed configure script to support gtk2
+
+
+xsane-0.87 -> 0.88:
+-------------------
+
+ - xsane_back_gtk_range_new: made sure that digits is not negative
+ and for gtk+-1 that digits<6
+
+ - xsane_load_mail_project: changed "char c" to "int c" to get a chance to
+ identify EOF
+
+ - xsane_load_fax_project: changed "char c" to "int c" to get a chance to
+ identify EOF
+
+ - xsane_resolution_list_callback: changed "gchar *name" to "const gchar *name"
+
+ - xsane_add_medium_definition: changed "char *definition_name" to "const gchar *definition_name"
+
+ - added xsane-batch-scan.[ch]
+
+ - added routine preview_create_batch_icon_from_file() to xsane-preview.c
+
+ - xsane_batch_scan_update_icon_list is called by xsane_enhancement_by_gamma via a timer
+ this way a gamma correction also is visible in the icon list
+
+ - added xsane.scan_rotation that is used by xsane-scan.c instead of xsane.preview->rotation
+
+ - updated translations: cs, de, es, ja, ru, tr
+
+
+xsane-0.88 -> 0.89:
+-------------------
+
+ - 3 pass scanning: data interleaving is done in buffer, patch by <Oliver.Friedrich@hamburg.de>
+
+ - replaced fork() by spawnvp for ocr command in xsane-save.c (patch by Franz Bakan)
+
+ - xsane_save_jpeg does reduce a 16bit/sample images to 8bit/sample at first because jpeg does
+ not support 16 bit/sample
+
+ - xsane_save_ps does reduce 16bit/sample images to 8bit/sample while saving
+
+ - When scanning to file (mode SAVE) then the warning about image depth reduction 16->8 bit/sample
+ for jpeg and postscript is not printed any more.
+
+ - Since april 2000 there is defined a pnm (ppm/pgm) format for 16 bit binary images.
+ With this format the unofficial RAW16 format that has been used by xsane until version 0.88
+ becomes senseless. The RAW16 format has been removed, xsane does create 16 bit binary pnm files
+ now (the difference between the RAW16 and the pnm16binary format is that the pnm16binary format
+ always uses MSB first while RAW16 was written in machine byte order).
+ In preferences-Setup->Image there is a selection if the pnm16 image shall be saved in ascii or
+ binary format.
+ When you have any problems with the pnm16binary format then make sure at first that the program
+ you use does support it correct. imagemagic does support it, the xv version 3.10a does not
+ support it.
+
+ - read_pnm_header now does read the gamma, contrast, brightness, threshold values, so when these
+ data is saved in an image then it is correct now.
+
+ - gamma, brightness, contrast and threshold are added in the header of pnm files now
+
+ - when 16 bit image is scanned and "reduce 16bit image to 8bit" is selected and the image
+ is saved as pnm then the file is created correct now
+
+ - batch scan thumbnail: replaced gdk_image by gtk_preview
+ gdk_image needs pixel colors based on hardware, gtk_preview uses truecolor pixels.
+
+ - added po file converstion to utf8 in po/Makefile[.in]
+
+ - added documentation for batch scan window
+
+ - changed page size in range from (max-min)*1e-40 to (max-min)*1e-30
+ because some systems like solaris had problems (one long bar that
+ could not be moved)
+
+ - xsane-preview.c: in case of an error the error error text is created before
+ preview_scan_done is called when parameters->* are needed for creating the
+ error message
+
+ - made html pages compatible to html 4.01
+
+ - changed header of postscript files, may be this solves the printing problem on some systems
+
+ - added "%%EOF" to end of postscript files
+
+ - updated translations: cs, de, fr, ja, nl, ru, sv (update for 0.88), tr
+ - new translations: pt, pt_BR
+
+ - add no_device icon in error message: no devices available
+
+ - added help_no_devices dialog
+
+ - added device icon in device_scanning_dialog
+
+ - added a frame in the decision dialog
+
+ - when preview_autoselect_scanarea does not find an image then
+ the complete image is used
+
+ - added accelerator key ESC to decision dialog:
+ when a reject button (right) is available then ESC=reject,
+ when no reject button is available then ESC=OK.
+
+ - set block_update_maximum_output_size_clipping in preview_rotation_callback,
+ now rotation does work like expected when in copy mode
+
+ - added paper_orientation menu in copy mode
+
+
+
+xsane-0.89 -> 0.90:
+-------------------
+
+ - replaced "round(i+0.5)" in xsane_save_ps by "ceil(i)" because round is not
+ available on all systems
+
+ - replaced order of includes for sys/types.h ans sys/stat.h in xsane.h
+
+ - removed some includes from some *.c files that are already in xsane.h
+
+ - added to xsane.h:
+ #ifdef HAVE_OS2_H
+ # define strcasecmp stricmp
+ #endif
+
+ - always set position of outputfilename_entry to the right
+
+ - added test for (pid_status < 0) in xsane_fax_send in routine
+ waiting for child process. The program does continue now
+ when the fax is sent.
+
+ - fax setup: added "set program defaults" buttons for efax, hylafax and mgetty+sendfax
+
+ - bindtextdomain for backend is set for sane-"backendname" and sane-backends
+ sane-backends is used when sane-"backendname" does not exist (no "" entry)
+
+ - set codeset for backend textdomain to "UTF-8"
+
+ - xsane-preview.c: motion_notify_event_handler: added
+ if (p->selection_xedge != -1) and if (p->selection_yedge != -1)
+ before setting new coordinates
+
+ - xsane-preview.c: added aspect_ratio function to motion_event_handler
+
+ - added aspect_ratio menu to preview window
+
+ - xsane-save.c: save_scaled_image: added " 0.5" to round image width and height
+
+ - xsane-viewer.c: added widgets to scale dialog that allow defining image size
+
+ - aclocal.m4: added "-lintl" when gettext is found in libintl
+
+ - aclocal.m4: added warning that check for gtk is not possible when pkg-config
+ is not available
+
+ - added romanian (ro.po), vietnamese (vi.po) and danish (da.po) translation
+
+ - updated translation based on xsane-0.89 texts: es, it, ru
+
+ - updated translations: cs, de, fr, nl, sk, tr
+
+ - replaced some signals for spinbutton by signals for adjustments in xsane-viewer.c
+
+ - xsane_mail_dialog_close() and xsane_fax_dialog_close():
+ removed gtk_window_remove_accel_group(GTK_WINDOW(xsane.mail_dialog), xsane.accelerator_group);
+
+ - xsane-scan.c/xsane_read_image_data() and xsane-preview.c/preview_read_image_data:
+ when we have no select_fd then we don't leave the scanloop with break; but
+ we do a gtk_main_loop and continue;
+
+ - xsane-scan.c and xsane-preview.c: WIN32 now also does use the gdk_input_add functions.
+
+ - preview: added output of RGB values of the pixel under the pointer in the preview
+
+ - xsane_create_preview_gamma_curve: replaced 255 by 255.99999 to create correct preview gamma table
+
+
+xsane-0.90 -> 0.91:
+-------------------
+
+ - xsane_generate_dummy_filename(): use temporary file in case xsane.mode == XSANE_GIMP_EXTENSION
+
+ - changed <Shift> accellerator keys that used letters to other key (if possible same key with <Ctrl>,
+ because with these accelartor keys it was not possible to enter these letters in any entries.
+
+ - added accelerator group to mail dialog again, it is now possible to enter all texts and use
+ the accelerator keys at the same time
+
+ - added zoom of image under the pointer to the preview window
+
+ - removed all c++ style remarks "//"
+
+ - changed behaviour of medium definition mode:
+ - The raw histogram now does show the raw data when the selected medium definition
+ is not set to the full range
+ - When creating a new medium definition the name of the used definition is preset
+ - When creating a new medium definition then this definition is selected
+ - When deleting a definition then the previous definition is selected
+
+ - renamed temporary file "preview-level*" to "xsane-preview-level*"
+
+ - position of batch scan dialog is saved in device preferences
+
+ - added chines tranlation (zh)
+
+ - corrected RGBA mode
+
+ - added blocking function to viewer: it is not possible to open two dialogs for the same
+ viewer at the same time
+
+ - added signal handling for SIGINT and SIGHUP
+
+ - in Batch scanning mode sane_cancel is called between all scans! This has to be done
+ because it is not allowed to change scan parameters between sane_start and sane_cancel.
+
+
+xsane-0.91 -> 0.92:
+-------------------
+
+ - moved setting of preview gamma table from preview_start_scan (called 3 times for
+ 3 pass scan) to preview_scan (called once when "preview scan" button is pressed).
+ This should avoid error messages in 3 pass scanning mode
+
+ - removed parameter label from xsane_back_gtk_autobutton_new()
+
+ - xsane_back_gtk_autobutton_update sets range widget to insensitive in automatic mode
+
+ - added jpeg error_exit handler
+
+ - added several tests for errors after wrting image data (full disk) (not complete)
+
+ - if an advanced option is defined in a standard group then this option is listed in
+ the advanced options window now. For this a standard group also is created in the
+ advanced options window. If a group has no items then the group is not shown.
+
+ - an option without SANE_CAP_SOFT_DETECT is not read any more in xsane_control_option
+
+ - updated translations: sv
+
+
+xsane-0.92 -> 0.93:
+-------------------
+
+ - added ranlib to lib/Makefile.in to process liblib.a
+
+ - added 2 calls xsane_find_best_resolution() in xsane_resolution_widget_new()
+ to make sure that active value really is selectable in a list of resolutions
+
+ - added range values 9-25% to scaling list of xsane-viewer: 9, 13, 18, 25, 35, 50, 71, 100, 141, 200, 282, 400
+
+ - when no docviewer is defined at xsane startup (generally when xsane is started the first time) then
+ xsane tries to read the environment variable $BROWSER, if this fails it sets docviewer to netscape.
+
+ - xsane-preferences.c: mail dependant entries are only used when mail is activated
+
+ - replaced label HAVE_LIBGIMP_GIMP_H by HAVE_ANY_GIMP
+ HAVE_ANY_GIMP is defined in configure.in when HAVE_GIMP=yes
+
+ - added HAVE_GIMP_2 parts to xsane.c, xsane.h and xsane-save.c
+ HAVE_GIMP_2 is defined by configure.in when GIMP-2.0 was found
+
+ - created subdirectory m4 and put self written macros from aclocal.m4 to m4/*.m4,
+ copied gtk.m4, gtk-2.0.m4 and gimp-2.0.m4 from aclocal installation to m4 subdirectory,
+ gimp-orauch.m4 contains a modified gimp.m4 that also can handle gimp-1.0.x
+ (the original script only does work when gimptool is installed, gimp-1.0.x comes without it)
+ a new aclocal.m4 can be created with "aclocal -I m4/."
+
+ - configure.in: changed AM_FUNC_ALLOCA to AC_FUNC_ALLOCA
+
+ - configure.in + src/xsane.c: changed PACKAGE_VERSION to XSANE_PACKAGE_VERSION
+ because PACKAGE_VERSION did not work any more, looks like a new feature of aclocal or autoconf
+
+ - updated translations: de, it, da, cs, nl, es, sk, ro, fr
+
+ - po/Makefile.in: added test for msgfmt, gmsgfmt, gencat
+
+xsane-0.93 -> 0.94:
+-------------------
+
+ - changed "s" to UTF8 codeset
+
+ - added test and warning message if option is defined without name (NULL)
+ to xsane_panel_build
+
+ - added handling for options with of SANE_TYPE_INT and SANE_TYPE FIXED
+ with CONSTRAINT_TYPE_NONE , uses spinbutton, no sliders
+
+ - changed default medium definition of Slide from highlight=30% to highlight=40%
+
+ - xsane_[back_gtk_]option_menu_new: added empty element to end of list
+ xsane_[back_gtk_]option_menu_lookup: test for existing element before comparision
+
+ - moved media defintions from xsane.rc to xsane.mdf
+
+ - preview: preset area: added definition name to context menu items
+
+ - preview: add preset area: you can change the suggested name now
+
+ - medium definitions: added same context menue like in preset area menu,
+ removed buttons "add medium" and "delete medium", they are in the
+ contect menu now
+
+ - added documentation how to use a medium and how to define a medium
+
+ - improved documentation how to edit the preset area definitions
+
+ - in edit medium definition mode autmatic scanarea selection and automatic
+ color correction is disbaled
+
+ - docs: replaced www.mostang.com/sane by www.sane-project.org
+ and sane-devel@mostang.com by sane-devel@lists.alioth.debian.org
+
+ - batch_scan default list is loaded at program startup
+
+ - added test for BUGGY_GDK_INPUT_EXECEPTION in xsane.c and xsane-preview.c
+ when gdk_input_add shall be used
+
+ - changed order in xsane.h: system includes are moved to the beginning of
+ the file. This way it is possible to test for operating system header files
+ to decide how some #defines are made
+
+ - added m4 makro test for msnative struct for windows
+
+ - BUGGY_GDK_INPUT_EXCEPTION is defined for windows
+
+ - src/Makefile.in: removed both "\" in
+ -DPATH_XSANE_DOC_DIR=\$(xsanedocdir) -DPATH_SANE_DATA_DIR=\$(sanedatadir)
+
+ - created new xsane-WIN32-compilation.txt
+
+ - for windows the GTK1 version of xsane_window_get_position is used
+
+ - xsane_back_gtk_get_filename: directory is prepared with ending SLASH
+ instead of ending "/.", this does work with windows now when SLASH is \
+
+
+xsane-0.94 -> 0.95:
+-------------------
+
+ - For xsane-win32 the xsane icon is added to the windows ressource of xsane.exe:
+ added definition of XSANE_ICON=xsane-icon.opc to configure[.in]
+ added creation rule of xsane-icon.opc to src/Makefile[.in]
+ added @XSANE_ICON@ to XSANE_OBJS
+
+ - in xsane_back_gtk_value_update: removed rounding (+ 0.5) in case SANE_TYPE_INT
+
+ - changed menues in the xsane main dialog:
+ - added new menu "Window"
+ - moved Window menue entries form "View" to "Window"
+ - moved "Show resolution list" entry from menu "Preferences" to "View"
+ - moved "Update policy" entry from menu "Preferences" to "View"
+ - moved "Length unit" entry from menu "Preferences" to "View"
+
+ - added test if resolution list is displayed or scale is displayed in
+ xsane_resolution_timer_callback(). Without this test it sometimes
+ happened that pressing CTRL+L (Swap show resolution list) caused a
+ segfault because the timer callback was executed in a moment where the
+ adjustment is not valid
+
+ - added: if (???->window)
+ before each: gdk_window_process_updates(???->window)
+ in xsane-gamma.c, this made problems with gtk+2.x
+
+ - when a postscript file is added to a faxproject then the original name of the
+ file is also used in the faxproject now. The pagecounter is still increased!
+
+ - fax fine mode selection is stored in preferences now
+
+ - handling of viewer filenames changed:
+ - when an image is saved in the viewer then the viewer shows the filename in
+ the window title and the viewer remembers the filename
+ - when the image has been changed after it has been saved then the filename
+ in the window title is shown in brackets
+ - when the filename ends with a number (counter) then the number is automatically
+ increased when the file is saved
+ - when a saved image is cloned then the suggested filename of the cloned image is
+ clone-of-"old-filename"
+
+ - viewer: added support for different modification restrictions
+ - VIEWER_NO_MODIFICATION (only view)
+ - VIEWER_NO_NAME_AND_SIZE_MODIFICATION (some filters allowed but keep size, e.g. fax)
+ - VIEWER_NO_NAME_MODIFICATION (use given name, e.g. fax, mail)
+ - VIEWER_FULL_MODIFICATION (normal mode)
+
+ - added undo function (1 step) to viewer
+
+ - changed menues in the xsane viewer dialog:
+ - added menu "Edit"
+ - added menu "Geometry"
+ - moved Scale function from menu "File" to menu "Geometry"
+ - added rotation and mirror functions to menu "Geometry"
+ - added undo function to menu "Edit"
+
+ - changed button boxes/icons in the xsane viewer dialog:
+ - added button boxes equal to menus: file, edit, filters, geometry
+ - added undo icon to edit box
+ - moved blur uand despeckle icon to filter box
+ - moved scale, rotation and mirrir icons to geometry box
+
+ - replaced several "char buf[???];" by "char filename[PATH_MAX];"
+
+ - changed fax mode:
+ - scanned images are stored in pnm format
+ - for each list entry there is a data and a type information now
+ - internal viewer is used now for pnm-fax files
+ - faxviewer is used for ps files
+ - before sending the fax pnm images are converted into ps images
+ - after sending the fax ps images are erased
+
+ - changed e-mail mode:
+ - scanned images are stored in pnm format
+ - for each list entry there is a data and a type information now
+ - internal viewer is used now for pnm-mail files
+ - before sending the mail pnm images are converted into png images
+ - after sending the mail the png images are erased
+ - mail project status is translated now
+ - BUGFIX: end of email text is marked with 0 byte
+
+ - added function xsane_viewer_set_sensitivity()
+ - moved all gtk_widget_set_sensitive(GTK_WIDGET(v->button_box), TRUE/FALSE); to it
+ - added several gtk_widget_set_sensitive(???_menu, TRUE/FALSE); commands to it
+ - moved almost all v->block_actions to it
+ - now it should not be possible any more to crash xsane by closing the viewer
+ while it is saving something
+
+ - added info "reduce to lineart" to image_info + xsane-pnm-header
+
+ - renamed viewer v->reduce_to_lineart to v->allow_reduction_to_lineart
+
+ - save_image_as() now automatically reduces lineart images to pbm before saving
+
+ - new translations: hu
+
+ - updated translations: de, es, ja, pt, pt_BR, sk
+
+
+xsane-0.95 -> 0.96:
+-------------------
+
+ - fax progress bar does not change it's height any more when the fax dialog is resized
+
+ - mail progress bar does not change it's height any more when the mail dialog is resized
+
+ - added lockfile to mail project. The lockfile contains status and progress information
+ from the mail_send_process and is used to display a progress_bar
+
+ - mail status is only translated when it is displayed via gtk, in the data structures
+ the untranslated texts are used
+
+ - changed mail_attach_image_png to mail_attach_image, mime type is defined by parameter
+
+ - added filetype menu to mail dialog with filetypes PNG, JPEG and TIFF
+
+ - bugfix: viewer saves lineart PNM images again as lineart (bug in xsane-0.95)
+
+ - when image is saved as pnm and it is not reduced to lineart then the input file
+ is copied with xsane_copy_file => much faster
+
+ - xsane-save.c: reordered function parameters for saving/conversion functions to
+ (outfile, infile,...) or (output_filename, input_filename, ...)
+ (before we had sometimes infile at first and sometimes outfile at first)
+
+ - xsane_set_sensitivity: mail_dialog and fax_dialog:
+ the sensitivity off all but the progress_bar is set
+
+ - While mail is prepared (images are converted) the xsane sensitivity is set to
+ FALSE to make sure that the xsane mode is not changed in this case.
+ while sending the mail (after preparation) the xsane sensitivity is set to
+ TRUE and the project entry sensitivity is also TRUE, it is allowed to
+ changed xsane mode and to change the mailproject, because the
+ sending of the mail is done in a separate process, so there is no
+ influence by changing the mail project name.
+
+ - Comment:
+ When xsane is closed while sending one or more mails then xsane is closed
+ but the mail sending subprocesses are not terminated.
+
+ - added SMTP (HELO/FROM/RCPT/DATA) errors to mail status
+
+ - added xsane.fax_status, it is saved in the first line of the xsane-fax-list
+ this means that the fax project directories are incompatible to earlier versions!
+
+ - added mail_status and fax_status = ..._CHANGED when a new page is added to
+ the project
+
+ - updated images in documentation
+
+ - updated email modus in documentation
+
+ - email images are named "image-1" instead of "page-1"
+
+ - fax_dialog_delete() and mail_dialog_delete() return TRUE now.
+ In windows it was possible to delete the dialogs what caused
+ a crash when the window should be used or closed.
+
+ - translations: U=updated, N=not updated
+ cs da de es fr hu it ja nl pt pt_BR ro ru sk sl sr sv tr vi zh
+ U U U U U N N U U U U U U N N N N U U N
+
+ - xsane-preferences.c: when identifier is unknown or not a string then
+ the parser does not abort or crash any more.
+ XSane now should not have any problems with old config files.
+
+
+xsane-0.96 -> 0.97:
+-------------------
+
+ - write_smtp_footer(): changed ".\r\n" by "\r\n.\r\n", this
+ solves problems with microsoft exchange servers.
+
+ - translations: U=updated, N=not updated, A=added/new
+ cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv tr vi zh
+ N N N N N N U N N A N N N N N N N N N N U
+
+ - xsane-save.c: xsane_copy_file(): removed fclose(infile) and fclose(outfile)
+ this bug caused the error "*** glibc detected *** double free or corruption (!prev): 0x........ ***"
+ with new gelibc versions
+ xsane-save.c: xsane_copy_file_by_name(): added fclose(infile) and fclose(outfile)
+
+ - rmoved gtk_events_pending() from the waiting loop in xsane_back_gtk_get_filename,
+ it looks like gtk_events_pending() increases CPU load very much.
+
+ - xsane-scan.c: function xsane_reduce_to_lineart(): corrected order of filenames in
+ xsane_save_image_as_lineart()
+
+ - xsane_device_dialog(...): uses sane_control_option instead of xsane_control_option
+ to read option number 0. This means that it is not needed that SANE_CAP_SOFT_DETECT
+ is set for option number 0
+
+
+xsane-0.97 -> 0.98:
+-------------------
+
+ - void xsane_batch_scan_scan_list(void):
+ added if (gtk_events_pending()) in while (xsane.scanning)
+ (this was removed in xsane-0.97 what made a lot of trouble)
+
+ - corrected bad <Toolbox/...> italian transations for gimp plugin
+
+ - added Postscript Zlib-Compression and Ascii-85 compression
+ (patch by Julien BLACHE <jb@jblache.org>)
+
+ - added (single page) PDF saving routine
+ (patch by Julien BLACHE <jb@jblache.org>)
+
+ - added PDF and Postscript to mail-mode. PDF and Postscript documents can not
+ be displayed inline in html mails. I also do not know a way to display a
+ link to a document that is integrated in the mail. So the <IMAGE> tag
+ has no effect for pdf and postscript documents in html mode.
+
+ - --print-filenames prints the filenames after conversion, so it is
+ safe that the file exists and is complete
+
+ - selected medium definition is stored in preferences now
+
+ - BUGFIX for scanners that do not allow to set all resolutions.
+ In fax mode and possibly also in copy mode the created pages
+ had a wrong scaling when the scanner did not support the
+ desired resolution:
+ - xsane_set_resolution returns bestdpi = selected resolution
+ - xsane_set_all_resolutions stores bestdpi as used resolution
+
+ - when option 0 (num_options) has not defined SANE_CAP_SOFT_DETECT
+ then xsane prints a warning but does try to read the option value
+
+ - added xsane_mode (VIEWER/SAVE/EMAIL/FAX/etc) to preferences
+
+ - po/*: all po files are in UTF-8 code now
+ to transform non-UTF-8 po files to UTF-8 put the po file
+ into the IMPORT_PO_DIR directory and call in the po directory
+ "make import-po-files"
+
+ - rename xsane-logo2.jpg to xsane-logo.jpg and changed all
+ html files to xsane-logo.jpg
+
+ - viewer uses preferences.filetype instead of "by ext"
+
+ - localedir for sane-backends is set by sane-prefix instead of xsane-prefix
+
+ - replaced printf by g_print to get correct output on non-utf-8 terminals
+
+ - question mark '?' and asterisk '*' in filenames are replaced by underscore '_'
+
+ - translations: U=updated, N=not updated, A=added/new
+ cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv tr vi zh
+ U U U N N U U N N N N N N U U N N N N N N
+
+xsane-0.98 -> 0.98a:
+--------------------
+
+ - corrected gimp_plugin bug:
+ xsane_mode now is hold in xsane.xsane_mode like bevore xsane-0.98,
+ additionally preferences.xsane_mode is used to store the user
+ selection
+ the user selection is loaded at program start when nothing else is predefined
+
+
+xsane-0.98a -> 0.98b:
+---------------------
+
+ - changed bug in header file due to conficting types in xsane-front-gtk.h
+ from: int xsane_set_resolution(int well_known_option, double resolution);
+ to: double xsane_set_resolution(int well_known_option, double resolution);
+
+
+xsane-0.98b -> 0.99:
+--------------------
+
+ - added preferences/setup options:
+ - save_ps_flatdecoded
+ - save_pdf_flatdecoded
+ - fax_ps_flatdecoded
+ - printer[i].ps_flatdecoded
+
+ - changed xsane-preferences reading routines for printer definitions and
+ preset area definitions
+
+ - changed postscript and tiff saving routines:
+ - split in subroutines:
+ - create_document_header (ps, pdf)
+ - save image as page (ps, pdf, tiff)
+ - create_document_trailer (ps, pdf)
+
+ - split xsane.c into xsane.c, xsane-fax-project.c and xsane-mail-project.c
+
+ - created xsane-multipage.c that adds a multipage project dialog
+ supported file formats:
+ - ps
+ - pdf
+ - tiff
+
+ - corrected viewer to display bits/sample and size correct
+
+ - changed handling of viewer filename and filetype selection:
+ when a new viewer window is created then it copies the active
+ filename and filetype. Changing the viewers selection does not
+ change the prefered setting any more.
+
+ - when no resolution option is available then xsane uses a resolution
+ of 72.0 dpi. This e.g. is used for postscript and PDF.
+
+ - changed tiff saving routine:
+ - added deflate (zip) compression for 8 bit and 16 bit / sample images
+ - corrected jpeg rgb compression
+
+ - changed mixed up e-mail names (mail, email, e-mail):
+ - all xsane internal names are: email
+ - all user visible texts are : e-mail
+ - changed acceleration key for email mode to GDK_E
+ - changed command line option from --mail and -m to --email and -e
+
+ - changed name of notebook "image" to "filetype"
+
+ - when force_filename is set then the filetype is defined by the filename
+ instead of preferences.filetype
+
+ - project dialog position is saved in devices preferences now
+
+ - when a dialog is closed then the position is stored in preferences
+ so it can be saved when the window is invisible at program exit
+
+ - changed handling of ADF:
+ - removed ADF scanmode selection from setup
+ - added entry for number of pages to scan in xsane main dialog
+ - next scan is not started by
+ g_signal_emit_by_name(xsane.start_button, "clicked"); /* press START button */
+ any more. This executed the next scan before all active scan subroutines
+ have been finished. Now we use
+ gtk_timeout_add(100, (GtkFunction)xsane_scan_dialog, NULL);
+ to start xsane_scan_dialog after 100ms.
+
+ - batch scan window now uses preview levels (zoomed previews) to display batch icons
+
+ - added ASMTP authentication PLAIN and LOGIN
+
+ - changed size definition of preview window for GTK2 to gtk_window_resize()
+
+ - added $(DESTDIR) before each destination path in all Makefile.in
+
+ - made usage of MKINSTALLDIRS unique in all Makefile.in
+
+ - cleaned up subdir intl
+
+ - translations: U=updated (* for 0.99-pre1), N=not updated, A=added/new
+ cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv tr vi zh
+ U U U N N U N N U* U* N N N U N U N N U* N N
+last upd 96 95 96 95 96 96 96 98 76 92 96 96
+
+
+xsane-0.99 -> 0.991:
+--------------------
+ - replaced all char buf[255], char buf[256] etc by char buf[TEXTBUFSIZE]
+ with #define TEXTBUFSIZE 255
+
+ - replaced all char filename[255] etc by char filename[PATH_MAX]
+
+ - translations: U=updated (* for 0.99-pre1), N=not updated, A=added/new
+ cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv tr vi zh
+ N N N N N N U N N N N N N N N N N N N N N
+ 99 99 99 96 95 99 95 99 99 96 96 96 99 98 99 76 92 99 96 96
+
+ - added default multipage_filetype (PDF).
+ No default multipage_filetype produced the following problem:
+ - error message when creating multipage file: could not create secure file
+
+ - lineart images are expanded to grayscale in multipage mode.
+ solves segmentation fault when "show page" in multipage project was selected
+
+ - corrected calculation of width and height in copy mode for backends
+ that do not support arbitary resolutions
+
+ - multipage mode: lineart images (that are stored as grayscale images)
+ are reduced to lineart before the page is put into the multipage file
+
+ - viewer shows image info with bit depth = 1 when reduce_to_lineart is set
+
+ - change handling of zoom (photocopy mode):
+ - now there is only one zoom value even if there is a resolution_x and
+ a resolution_y option, zoom_x and zoom_y are removed
+ - the zoom factor is directly used to define the image output size
+ (before the scanresolution was used to define the image output size)
+ - the resolution is not changed any more when an other printer with a
+ different printer resolution is selected
+ - replaced all char buf[255], char buf[256] etc by char buf[TEXTBUFSIZE]
+
+xsane-0.991 -> 0.992:
+---------------------
+ - there was still a bug concerning the gimp plugin
+ when xsane has been quit in copy mode and afterwards
+ started as gimp plugin then xsane used the printer paper
+ size in the preview window. This is solved now:
+ replaced preferences.xsane_mode by xsane.xsane_mode
+ in xsane_define_maximum_output_size()
+
+ - xsane_save_scaled_image sometimes did not write the last line
+ and produced a tuncated image. this is corrected now
+
+ - viewer: when saved image is cloned and the viewer of the cloned
+ image is closed then no dialog pops up any more
+
+ - translations: U=updated, N=not updated, A=added/new
+ ca cs da de es fr hu it ja nl pl pt pt_BR ro ru sk sl sr sv tr vi zh zh_CN
+ A N N N N N N U N N N N N N N N N N N N N N A
+ 99299 99 99 96 95 99 95 99 99 96 96 96 99 98 99 76 92 99 96 96 992
+
+ - xsane-preview.c: preview_create_batch_icon():
+ bugfix: files (in) are closed directly after use now,
+ bug report from Norman Hill - thanks
+
+ - corrected order of filetypes in xsane_back_gtk_filetype_menu_set_history, now
+ the filetype are not mixed any more when the disk icon is pressed
+
+ - replaced all "\n" by "\r\n" in email
+
+ - corrected some signdness warnings in xsane-preview.c (buf)
+
+ - fixed memory bug that caused crash when setup was closed (display_notebook):
+ added strdup to preferences.browser = strdup(getenv(STRINGIFY(ENVIRONMENT_BROWSER_NAME)));
+
+ - added command line option --xsane-rc / -r to change give alternative filename for xsane.rc
+
+ - added support for color management:
+ - added tab "color management" to setup/preferences
+ - preview can display ICC/ICM corrected images with 8bits/color and with 16bits/color input bit depth
+ - viewer can display ICC/ICM corrected images with 8bits/color and with 16bits/color input bit depth
+ - gamma correction and medium selection is disabled when color management is enabled
+ - added support for embedded ICC/ICM files for
+ - tiff
+ - jpeg
+ - png
+ - gimp plugin
+
+ - replaced several GtkObject* by GtkWidget* to avoid type-punned-pointer warning
+
+ - replaced several (void**) typecasts in xsane-rc-io.c to avoid type-punned-pointer warning
+
+xsane-0.992 -> 0.993:
+---------------------
+
+ - removed proofing intent options saturation and perceptual, only relative and absolutle colorimetric are available now
+
+ - added CMS transformation to saving routines: pnm(8bit), pnm(16bit ascii and binary), png, jpeg, tiff, gimp-plugin, ps, pdf
+ (missing routines: multipage)
+
+ - added support for gtk_file_chooser_dialog
+ all filenames are handled as full paths (beginning with a slahs) now,
+ the "change working directory" option has been removed
+
+ - made "CANCEL" and "OK" button positions the same as gimp uses it (CANCEL=left, OK=right)
+
+ - added browse function for projects directories
+
+ - removed bugs in mail mode:
+ write(fd, "\r\n\r\n", 2) -> write(fd, "\r\n\r\n", 4)
+ write(fd, "\r\n", 1) -> write(fd, "\r\n", 2)
+
+ - added embedded ICC profiles for postscript (CSA+CRD) and pdf
+
+ - added 12 bits/channel support for postscript
+
+ - added flatedecode without Asci85 compression for PDF
+
+
+xsane-0.993 -> 0.994:
+---------------------
+
+ - corrected postscript bug: moved "/DeviceRGB setcolorspace" and "CSA... setcolorspace" from document setup to page setup
+
+ - added black point compensation to printer setup dialog
+
+ - xsane-scan.c: if (channels==1) then scanner_default_gray_icm_profile is used instead of scanner_default_color_icm_profile
+
+ - xsane-scan.c: bugfix segfault when scanning: when scanner_default_color_icm_profile is not defined then "" is used instead of scanner_default_color_icm_profile
+
diff --git a/xsane.spec b/xsane.spec
index 31b9098..2f3330e 100644
--- a/xsane.spec
+++ b/xsane.spec
@@ -1,5 +1,5 @@
%define name xsane
-%define version 0.993
+%define version 0.994
%define release 1
%define prefix /usr