summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in10
-rw-r--r--src/xsane-save.c24
-rw-r--r--src/xsane-scan.c1
-rw-r--r--src/xsane-setup.c103
-rw-r--r--src/xsane-viewer.c16
-rw-r--r--src/xsane.c3
-rw-r--r--src/xsane.desktop9
-rw-r--r--src/xsane.h2
-rw-r--r--src/xsane.xpm236
9 files changed, 346 insertions, 58 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index 4ea7a66..905ef93 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -23,6 +23,8 @@ oldincludedir = /usr/include
configdir = ${sysconfdir}/sane.d
sanedatadir = ${datadir}/sane
xsanedocdir = ${datadir}/sane/xsane/doc
+desktopappdir = @datadir@/applications
+pixmapdir = @datadir@/pixmaps
MKINSTALLDIRS = @MKINSTALLDIRS@
INSTALL = @INSTALL@
@@ -63,7 +65,7 @@ XSANE_OBJS = xsane-back-gtk.o xsane-front-gtk.o xsane-gamma.o \
all: $(PROGRAMS)
install: $(PROGRAMS)
- $(MKINSTALLDIRS) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(datadir) $(DESTDIR)$(sanedatadir) $(DESTDIR)$(xsanedocdir) $(DESTDIR)$(sanedatadir)/xsane
+ $(MKINSTALLDIRS) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(DESTDIR)$(datadir) $(DESTDIR)$(sanedatadir) $(DESTDIR)$(xsanedocdir) $(DESTDIR)$(sanedatadir)/xsane $(DESTDIR)$(desktopappdir) $(DESTDIR)$(pixmapdir)
@for program in $(BINPROGS); do \
$(INSTALL_PROGRAM) $${program} $(DESTDIR)$(bindir)/$${program}; \
done
@@ -73,6 +75,8 @@ install: $(PROGRAMS)
$(INSTALL_DATA) $(srcdir)/xsane-logo.xpm $(DESTDIR)$(sanedatadir)/xsane/xsane-logo.xpm
$(INSTALL_DATA) $(srcdir)/xsane-gpl.txt $(DESTDIR)$(sanedatadir)/xsane/xsane-gpl.txt
$(INSTALL_DATA) $(srcdir)/xsane-eula.txt $(DESTDIR)$(sanedatadir)/xsane/xsane-eula.txt
+ $(INSTALL_DATA) $(srcdir)/xsane.desktop $(DESTDIR)$(desktopappdir)/xsane.desktop
+ $(INSTALL_DATA) $(srcdir)/xsane.xpm $(DESTDIR)$(pixmapdir)/xsane.xpm
@for logo in *-logo.xpm; do \
echo installing $(DESTDIR)$(sanedatadir)/xsane/$${logo}; \
$(INSTALL_DATA) $(srcdir)/$${logo} $(DESTDIR)$(sanedatadir)/xsane/$${logo}; \
@@ -91,6 +95,10 @@ uninstall:
rm -f $(DESTDIR)$(sanedatadir)/xsane/xsane-calibration.pnm
echo uninstalling $(DESTDIR)$(sanedatadir)/xsane/xsane-logo.xpm...
rm -f $(DESTDIR)$(sanedatadir)/xsane/xsane-logo.xpm
+ echo uninstalling $(DESTDIR)$(desktopappdir)/xsane.desktop
+ rm -f $(DESTDIR)$(desktopappdir)/xsane.desktop
+ echo uninstalling $(DESTDIR)$(pixmapdir)/xsane.xpm
+ rm -f $(DESTDIR)$(pixmapdir)/xsane.xpm
@for logo in *-logo.xpm; do \
echo uninstalling $(DESTDIR)$(sanedatadir)/xsane/$${logo}; \
rm -f $(DESTDIR)$(sanedatadir)/xsane/$${logo}; \
diff --git a/src/xsane-save.c b/src/xsane-save.c
index 3d3b4c7..97c40eb 100644
--- a/src/xsane-save.c
+++ b/src/xsane-save.c
@@ -2965,7 +2965,7 @@ static int xsane_save_ps_pdf_bw(FILE *outfile, FILE *imagefile, Image_info *imag
{
int x, y;
int bytes_per_line = (image_info->image_width+7)/8;
- int ret;
+ int ret = 0;
unsigned char *line;
DBG(DBG_proc, "xsane_save_ps_pdf_bw\n");
@@ -3016,6 +3016,7 @@ static int xsane_save_ps_pdf_bw(FILE *outfile, FILE *imagefile, Image_info *imag
else
{
fwrite(line, bytes_per_line, 1, outfile);
+ ret = 0;
}
if ((ret != 0) || (ferror(outfile)))
@@ -3054,7 +3055,7 @@ static int xsane_save_ps_pdf_bw(FILE *outfile, FILE *imagefile, Image_info *imag
static int xsane_save_ps_pdf_gray(FILE *outfile, FILE *imagefile, Image_info *image_info, int ascii85decode, int flatedecode, cmsHTRANSFORM hTransform, int do_transform, GtkProgressBar *progress_bar, int *cancel_save)
{
int x, y;
- int ret;
+ int ret = 0;
unsigned char *line = NULL, *linep = NULL, *line16 = NULL;
int bytes_per_line;
int bytes_per_line16 = 0;
@@ -3249,6 +3250,7 @@ static int xsane_save_ps_pdf_gray(FILE *outfile, FILE *imagefile, Image_info *im
else
{
fwrite(line, bytes_per_line, 1, outfile);
+ ret = 0;
}
if ((ret != 0) || (ferror(outfile)))
@@ -3303,7 +3305,7 @@ static int xsane_save_ps_pdf_color(FILE *outfile, FILE *imagefile, Image_info *i
GtkProgressBar *progress_bar, int *cancel_save)
{
int x, y;
- int ret;
+ int ret = 0;
unsigned char *line = NULL, *linep = NULL, *line16 = NULL;
int bytes_per_line;
int bytes_per_line16 = 0;
@@ -3502,6 +3504,7 @@ static int xsane_save_ps_pdf_color(FILE *outfile, FILE *imagefile, Image_info *i
else
{
fwrite(line, bytes_per_line, 1, outfile);
+ ret = 0;
}
if ((ret != 0) || (ferror(outfile)))
@@ -3866,6 +3869,9 @@ void xsane_save_pdf_create_document_header(FILE *outfile, struct pdf_xref *xref,
fprintf(outfile, " >>\n");
fprintf(outfile, "endobj\n");
fprintf(outfile, "\n");
+
+ xref->obj[4] = 0;
+ xref->obj[5] = 0;
}
/* ---------------------------------------------------------------------------------------------------------------------- */
@@ -4087,7 +4093,14 @@ void xsane_save_pdf_create_document_trailer(FILE *outfile, struct pdf_xref *xref
for (i=1; i <= pages * 2 + 7; i++)
{
- fprintf(outfile, "%010lu 00000 n \n", xref->obj[i]);
+ if (xref->obj[i] > 0)
+ {
+ fprintf(outfile, "%010lu 00000 n \n", xref->obj[i]);
+ }
+ else
+ {
+ fprintf(outfile, "%010lu 00000 f \n", 0L);
+ }
}
fprintf(outfile, "\n");
@@ -4186,9 +4199,6 @@ int xsane_save_pdf(FILE *outfile, FILE *imagefile, Image_info *image_info, float
xsane_save_pdf_create_document_header(outfile, &xref, 1, flatedecode);
- xref.obj[4] = ftell(outfile);
- xref.obj[5] = ftell(outfile);
-
if (apply_ICM_profile && (cms_function == XSANE_CMS_FUNCTION_EMBED_SCANNER_ICM_PROFILE))
{
icc_object = 4;
diff --git a/src/xsane-scan.c b/src/xsane-scan.c
index d6e164a..fb32ba6 100644
--- a/src/xsane-scan.c
+++ b/src/xsane-scan.c
@@ -1602,6 +1602,7 @@ void xsane_scan_done(SANE_Status status)
else
{
DBG(DBG_info, "Normal end of scan\n");
+ xsane.adf_page_counter = 0;
xsane_set_sensitivity(TRUE); /* reactivate buttons etc */
sane_cancel(xsane.dev); /* stop scanning */
xsane_update_histogram(TRUE /* update raw */);
diff --git a/src/xsane-setup.c b/src/xsane-setup.c
index 39ffee6..1ea961c 100644
--- a/src/xsane-setup.c
+++ b/src/xsane-setup.c
@@ -1056,7 +1056,18 @@ static void xsane_setup_browse_printer_icm_profile_callback(GtkWidget *widget, g
DBG(DBG_proc, "xsane_setup_browse_printer_icm_profile_callback\n");
old_printer_icm_profile = gtk_entry_get_text(GTK_ENTRY(xsane_setup.printer_icm_profile_entry));
+#if 0
strncpy(printer_icm_profile, old_printer_icm_profile, sizeof(printer_icm_profile));
+#else
+ if (strlen(old_printer_icm_profile)) /* if (old_printer_icm_profile[0]=='/') XXX */
+ {
+ strncpy(printer_icm_profile, old_printer_icm_profile, sizeof(printer_icm_profile));
+ }
+ else
+ {
+ strncpy(printer_icm_profile, "/", sizeof(printer_icm_profile));
+ }
+#endif
snprintf(windowname, sizeof(windowname), "%s %s", xsane.prog_name, WINDOW_PRINTER_ICM_PROFILE);
xsane_back_gtk_get_filename(windowname, printer_icm_profile, sizeof(printer_icm_profile), printer_icm_profile, NULL, NULL, XSANE_FILE_CHOOSER_ACTION_SELECT_OPEN, XSANE_GET_FILENAME_SHOW_NOTHING, XSANE_FILE_FILTER_ALL | XSANE_FILE_FILTER_ICM, XSANE_FILE_FILTER_ICM);
@@ -1791,6 +1802,7 @@ static void xsane_saving_notebook(GtkWidget *notebook)
/* ---------------------------------------------------------------------------------------------------------------------- */
+#define XSANE_SETUP_FILETYPE_MENU_SIZE 450
static void xsane_filetype_notebook(GtkWidget *notebook)
{
GtkWidget *setup_vbox, *vbox, *hbox, *button, *label;
@@ -1961,6 +1973,7 @@ static void xsane_filetype_notebook(GtkWidget *notebook)
tiff_compression_option_menu = gtk_option_menu_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, tiff_compression_option_menu, DESC_TIFF_COMPRESSION_16);
gtk_box_pack_end(GTK_BOX(hbox), tiff_compression_option_menu, FALSE, FALSE, 2);
+ gtk_widget_set_size_request(tiff_compression_option_menu, XSANE_SETUP_FILETYPE_MENU_SIZE, -1);
gtk_widget_show(tiff_compression_option_menu);
gtk_widget_show(hbox);
@@ -1996,6 +2009,7 @@ static void xsane_filetype_notebook(GtkWidget *notebook)
tiff_compression_option_menu = gtk_option_menu_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, tiff_compression_option_menu, DESC_TIFF_COMPRESSION_8);
gtk_box_pack_end(GTK_BOX(hbox), tiff_compression_option_menu, FALSE, FALSE, 2);
+ gtk_widget_set_size_request(tiff_compression_option_menu, XSANE_SETUP_FILETYPE_MENU_SIZE, -1);
gtk_widget_show(tiff_compression_option_menu);
gtk_widget_show(hbox);
@@ -2032,6 +2046,7 @@ static void xsane_filetype_notebook(GtkWidget *notebook)
tiff_compression_option_menu = gtk_option_menu_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, tiff_compression_option_menu, DESC_TIFF_COMPRESSION_1);
gtk_box_pack_end(GTK_BOX(hbox), tiff_compression_option_menu, FALSE, FALSE, 2);
+ gtk_widget_set_size_request(tiff_compression_option_menu, XSANE_SETUP_FILETYPE_MENU_SIZE, -1);
gtk_widget_show(tiff_compression_option_menu);
gtk_widget_show(hbox);
@@ -2106,6 +2121,7 @@ static void xsane_fax_notebook_set_faxprogram_default_callback(GtkWidget *widget
/* ---------------------------------------------------------------------------------------------------------------------- */
+#define XSANE_SETUP_FAX_ENTRY_SIZE 400
static void xsane_fax_notebook(GtkWidget *notebook)
{
GtkWidget *setup_vbox, *vbox, *hbox, *button, *label, *text;
@@ -2139,7 +2155,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_COMMAND);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_FAX_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.fax_command);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2158,7 +2174,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_RECEIVER_OPT);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_FAX_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.fax_receiver_option);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2177,7 +2193,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_POSTSCRIPT_OPT);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_FAX_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.fax_postscript_option);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2196,7 +2212,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_NORMAL_OPT);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_FAX_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.fax_normal_option);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2215,7 +2231,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_FINE_OPT);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_FAX_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.fax_fine_option);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2257,7 +2273,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_VIEWER);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_FAX_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.fax_viewer);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2279,7 +2295,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_WIDTH);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_FAX_ENTRY_SIZE, -1);
snprintf(buf, sizeof(buf), "%4.3f", preferences.fax_width / preferences.length_unit);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -2299,7 +2315,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_HEIGHT);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_FAX_ENTRY_SIZE, -1);
snprintf(buf, sizeof(buf), "%4.3f", preferences.fax_height / preferences.length_unit);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -2319,7 +2335,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_LEFTOFFSET);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_FAX_ENTRY_SIZE, -1);
snprintf(buf, sizeof(buf), "%4.3f", preferences.fax_leftoffset / preferences.length_unit);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -2339,7 +2355,7 @@ static void xsane_fax_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_FAX_BOTTOMOFFSET);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_FAX_ENTRY_SIZE, -1);
snprintf(buf, sizeof(buf), "%4.3f", preferences.fax_bottomoffset / preferences.length_unit);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -2398,6 +2414,7 @@ static void xsane_email_notebook(GtkWidget *notebook)
} authentication_type;
#define AUTHENTICATION_NUMBER 4
+#define XSANE_SETUP_EMAIL_ENTRY_SIZE 400
GtkWidget *setup_vbox, *vbox, *pop3_vbox, *hbox, *button, *label, *text;
GtkWidget *authentication_option_menu, *authentication_menu, *authentication_menu_item;
@@ -2433,7 +2450,7 @@ static void xsane_email_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_EMAIL_FROM);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_EMAIL_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.email_from);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2451,7 +2468,7 @@ static void xsane_email_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_EMAIL_REPLY_TO);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_EMAIL_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.email_reply_to);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2472,7 +2489,7 @@ static void xsane_email_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_SMTP_SERVER);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_EMAIL_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.email_smtp_server);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2490,7 +2507,7 @@ static void xsane_email_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_SMTP_PORT);
- gtk_widget_set_size_request(text, 50, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_EMAIL_ENTRY_SIZE, -1);
snprintf(buf, sizeof(buf), "%d", preferences.email_smtp_port);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -2530,6 +2547,7 @@ static void xsane_email_notebook(GtkWidget *notebook)
authentication_option_menu = gtk_option_menu_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, authentication_option_menu, DESC_EMAIL_AUTHENTICATION);
gtk_box_pack_end(GTK_BOX(hbox), authentication_option_menu, FALSE, FALSE, 2);
+ gtk_widget_set_size_request(authentication_option_menu, XSANE_SETUP_EMAIL_ENTRY_SIZE, -1);
gtk_widget_show(authentication_option_menu);
gtk_widget_show(hbox);
@@ -2562,7 +2580,7 @@ static void xsane_email_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_EMAIL_AUTH_USER);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_EMAIL_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.email_auth_user);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2587,7 +2605,7 @@ static void xsane_email_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_EMAIL_AUTH_PASS);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_EMAIL_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) password);
gtk_entry_set_visibility(GTK_ENTRY(text), 0);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -2611,7 +2629,7 @@ static void xsane_email_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_POP3_SERVER);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_EMAIL_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.email_pop3_server);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2629,7 +2647,7 @@ static void xsane_email_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_POP3_PORT);
- gtk_widget_set_size_request(text, 50, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_EMAIL_ENTRY_SIZE, -1);
snprintf(buf, sizeof(buf), "%d", preferences.email_pop3_port);
gtk_entry_set_text(GTK_ENTRY(text), (char *) buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
@@ -2663,6 +2681,7 @@ static void xsane_email_notebook(GtkWidget *notebook)
/* ---------------------------------------------------------------------------------------------------------------------- */
+#define XSANE_SETUP_OCR_ENTRY_SIZE 400
static void xsane_ocr_notebook(GtkWidget *notebook)
{
GtkWidget *setup_vbox, *vbox, *hbox, *label, *text, *button;
@@ -2694,7 +2713,7 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_OCR_COMMAND);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_OCR_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.ocr_command);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2713,7 +2732,7 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_OCR_INPUTFILE_OPT);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_OCR_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.ocr_inputfile_option);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2732,7 +2751,7 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_OCR_OUTPUTFILE_OPT);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_OCR_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.ocr_outputfile_option);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2763,7 +2782,7 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_OCR_OUTFD_OPT);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_OCR_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.ocr_gui_outfd_option);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2782,7 +2801,7 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_OCR_PROGRESS_KEYWORD);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_OCR_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.ocr_progress_keyword);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2809,6 +2828,7 @@ static void xsane_ocr_notebook(GtkWidget *notebook)
/* ---------------------------------------------------------------------------------------------------------------------- */
+#define XSANE_SETUP_DISPLAY_ENTRY_SIZE 400
static void xsane_display_notebook(GtkWidget *notebook)
{
GtkWidget *setup_vbox, *vbox, *hbox, *button, *label, *text;
@@ -2894,6 +2914,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
gtk_widget_show(label);
show_range_mode_option_menu = gtk_option_menu_new();
+ gtk_widget_set_size_request(show_range_mode_option_menu, XSANE_SETUP_DISPLAY_ENTRY_SIZE, -1);
xsane_back_gtk_set_tooltip(xsane.tooltips, show_range_mode_option_menu, DESC_SHOW_RANGE_MODE);
gtk_box_pack_end(GTK_BOX(hbox), show_range_mode_option_menu, FALSE, FALSE, 2);
gtk_widget_show(show_range_mode_option_menu);
@@ -2934,7 +2955,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_oversampling);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_OVERSAMPLING);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_DISPLAY_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2957,7 +2978,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_gamma);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_GAMMA);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_DISPLAY_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2976,7 +2997,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_gamma_red);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_GAMMA_RED);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_DISPLAY_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -2995,7 +3016,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_gamma_green);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_GAMMA_GREEN);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_DISPLAY_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -3014,7 +3035,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", preferences.preview_gamma_blue);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_GAMMA_BLUE);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_DISPLAY_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -3047,7 +3068,7 @@ static void xsane_display_notebook(GtkWidget *notebook)
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_DOC_VIEWER);
- gtk_widget_set_size_request(text, 250, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_DISPLAY_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), (char *) preferences.browser);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -3152,6 +3173,7 @@ static void xsane_setup_preview_pipette_range_callback(GtkWidget *widget, gpoint
/* ---------------------------------------------------------------------------------------------------------------------- */
+#define XSANE_SETUP_ENHANCED_ENTRY_SIZE 400
static void xsane_enhance_notebook(GtkWidget *notebook)
{
GtkWidget *setup_vbox, *vbox, *hbox, *button, *label, *text;
@@ -3241,7 +3263,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", xsane.threshold_min);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_THRESHOLD_MIN);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_ENHANCED_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -3261,7 +3283,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", xsane.threshold_max);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_THRESHOLD_MAX);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_ENHANCED_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -3281,7 +3303,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", xsane.threshold_mul);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_THRESHOLD_MUL);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_ENHANCED_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -3301,7 +3323,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
snprintf(buf, sizeof(buf), "%1.2f", xsane.threshold_off);
text = gtk_entry_new();
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_PREVIEW_THRESHOLD_OFF);
- gtk_widget_set_size_request(text, 80, -1);
+ gtk_widget_set_size_request(text, XSANE_SETUP_ENHANCED_ENTRY_SIZE, -1);
gtk_entry_set_text(GTK_ENTRY(text), buf);
gtk_box_pack_end(GTK_BOX(hbox), text, FALSE, FALSE, 2);
gtk_widget_show(text);
@@ -3478,6 +3500,7 @@ static void xsane_enhance_notebook(GtkWidget *notebook)
/* ---------------------------------------------------------------------------------------------------------------------- */
#ifdef HAVE_LIBLCMS
+#define XSANE_SETUP_CMS_ENTRY_SIZE 300
static void xsane_color_management_notebook(GtkWidget *notebook)
{
GtkWidget *setup_vbox, *vbox, *hbox, *button, *label, *text, *option_menu, *menu, *menu_item;
@@ -3592,7 +3615,7 @@ static void xsane_color_management_notebook(GtkWidget *notebook)
gtk_widget_show(button);
text = gtk_entry_new_with_max_length(PATH_MAX);
- gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ gtk_widget_set_size_request(text, XSANE_SETUP_CMS_ENTRY_SIZE, -1); /* set minimum size */
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_SCANNER_DEFAULT_COLOR_ICM_PROFILE);
if (xsane.scanner_default_color_icm_profile)
@@ -3622,7 +3645,7 @@ static void xsane_color_management_notebook(GtkWidget *notebook)
gtk_widget_show(button);
text = gtk_entry_new_with_max_length(PATH_MAX);
- gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ gtk_widget_set_size_request(text, XSANE_SETUP_CMS_ENTRY_SIZE, -1); /* set minimum size */
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_SCANNER_DEFAULT_GRAY_ICM_PROFILE);
if (xsane.scanner_default_gray_icm_profile)
@@ -3655,7 +3678,7 @@ static void xsane_color_management_notebook(GtkWidget *notebook)
gtk_widget_show(button);
text = gtk_entry_new_with_max_length(PATH_MAX);
- gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ gtk_widget_set_size_request(text, XSANE_SETUP_CMS_ENTRY_SIZE, -1); /* set minimum size */
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_SCANNER_TRAN_ICM_PROFILE);
if (xsane.scanner_tran_icm_profile)
@@ -3685,7 +3708,7 @@ static void xsane_color_management_notebook(GtkWidget *notebook)
gtk_widget_show(button);
text = gtk_entry_new_with_max_length(PATH_MAX);
- gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ gtk_widget_set_size_request(text, XSANE_SETUP_CMS_ENTRY_SIZE, -1); /* set minimum size */
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_SCANNER_TRAN_GRAY_ICM_PROFILE);
if (xsane.scanner_tran_gray_icm_profile)
@@ -3718,7 +3741,7 @@ static void xsane_color_management_notebook(GtkWidget *notebook)
gtk_widget_show(button);
text = gtk_entry_new_with_max_length(PATH_MAX);
- gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ gtk_widget_set_size_request(text, XSANE_SETUP_CMS_ENTRY_SIZE, -1); /* set minimum size */
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_DISPLAY_ICM_PROFILE);
if (preferences.display_icm_profile)
@@ -3749,7 +3772,7 @@ static void xsane_color_management_notebook(GtkWidget *notebook)
gtk_widget_show(button);
text = gtk_entry_new_with_max_length(PATH_MAX);
- gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ gtk_widget_set_size_request(text, XSANE_SETUP_CMS_ENTRY_SIZE, -1); /* set minimum size */
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_CUSTOM_PROOFING_ICM_PROFILE);
if (preferences.custom_proofing_icm_profile)
@@ -3782,7 +3805,7 @@ static void xsane_color_management_notebook(GtkWidget *notebook)
gtk_widget_show(button);
text = gtk_entry_new_with_max_length(PATH_MAX);
- gtk_widget_set_size_request(text, 250, -1); /* set minimum size */
+ gtk_widget_set_size_request(text, XSANE_SETUP_CMS_ENTRY_SIZE, -1); /* set minimum size */
xsane_back_gtk_set_tooltip(xsane.tooltips, text, DESC_WORKING_COLOR_SPACE_ICM_PROFILE);
if (preferences.working_color_space_icm_profile)
diff --git a/src/xsane-viewer.c b/src/xsane-viewer.c
index 57abd98..3ca14f6 100644
--- a/src/xsane-viewer.c
+++ b/src/xsane-viewer.c
@@ -2536,14 +2536,14 @@ static int xsane_viewer_read_image(Viewer *v)
width = image_info.image_width * v->zoom + 26;
height = image_info.image_height * v->zoom + 136;
- if (width > gdk_screen_width())
+ if (width >= gdk_screen_width())
{
- width = gdk_screen_width();
+ width = gdk_screen_width()-1;
}
- if (height > gdk_screen_height())
+ if (height >= gdk_screen_height())
{
- height = gdk_screen_height();
+ height = gdk_screen_height()-1;
}
#ifdef HAVE_GTK2
@@ -2756,14 +2756,14 @@ static int xsane_viewer_read_image(Viewer *v)
width = image_info.image_width * v->zoom + 26;
height = image_info.image_height * v->zoom + 136;
- if (width > gdk_screen_width())
+ if (width >= gdk_screen_width())
{
- width = gdk_screen_width();
+ width = gdk_screen_width()-1;
}
- if (height > gdk_screen_height())
+ if (height >= gdk_screen_height())
{
- height = gdk_screen_height();
+ height = gdk_screen_height()-1;
}
#ifdef HAVE_GTK2
diff --git a/src/xsane.c b/src/xsane.c
index 7c5c5fa..8c65e33 100644
--- a/src/xsane.c
+++ b/src/xsane.c
@@ -2783,7 +2783,7 @@ static gint xsane_medium_delete_callback(GtkWidget *widget, GtkWidget *medium_wi
{
DBG(DBG_info ,"deleting %s\n", preferences.medium[selection]->name);
- free(preferences.medium[selection]);
+ // free(preferences.medium[selection]);
preferences.medium_definitions--;
@@ -2791,6 +2791,7 @@ static gint xsane_medium_delete_callback(GtkWidget *widget, GtkWidget *medium_wi
{
preferences.medium[i] = preferences.medium[i+1];
}
+ preferences.medium = realloc(preferences.medium, preferences.medium_definitions * sizeof(void *)); // NEW
if (preferences.medium_nr == selection)
{
diff --git a/src/xsane.desktop b/src/xsane.desktop
new file mode 100644
index 0000000..d5161e5
--- /dev/null
+++ b/src/xsane.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=XSane - Scanning
+Comment=Acquire images from a scanner
+Exec=xsane
+Icon=xsane
+Terminal=false
+Type=Application
+Categories=Application;Graphics
diff --git a/src/xsane.h b/src/xsane.h
index c5beb0e..767442c 100644
--- a/src/xsane.h
+++ b/src/xsane.h
@@ -91,7 +91,7 @@
/* ---------------------------------------------------------------------------------------------------------------------- */
-#define XSANE_VERSION "0.995"
+#define XSANE_VERSION "0.996"
#define XSANE_AUTHOR "Oliver Rauch"
#define XSANE_COPYRIGHT "Oliver Rauch"
#define XSANE_DATE "1998-2007"
diff --git a/src/xsane.xpm b/src/xsane.xpm
new file mode 100644
index 0000000..e695c8f
--- /dev/null
+++ b/src/xsane.xpm
@@ -0,0 +1,236 @@
+/* XPM */
+static char * xsane_32x32_xpm[] = {
+"32 32 201 2",
+" c None",
+". c #020206",
+"+ c #3E3A2A",
+"@ c #5E5A42",
+"# c #9A926E",
+"$ c #DED6B2",
+"% c #2A36FE",
+"& c #161EFA",
+"* c #B6AE86",
+"= c #323EFE",
+"- c #465AFE",
+"; c #D2CAA2",
+"> c #161612",
+", c #3E4AEA",
+"' c #C6BE96",
+") c #726A52",
+"! c #96AAFE",
+"~ c #3236D6",
+"{ c #7E8AFA",
+"] c #7E765A",
+"^ c #A2B6FE",
+"/ c #A69E7A",
+"( c #F2F2DE",
+"_ c #322E22",
+": c #BEB68E",
+"< c #4E4A36",
+"[ c #3A3E9A",
+"} c #C2D2FE",
+"| c #969AE6",
+"1 c #EAE6C6",
+"2 c #8A8262",
+"3 c #6262BA",
+"4 c #423E6E",
+"5 c #1E2266",
+"6 c #AEA67E",
+"7 c #CEC69E",
+"8 c #E6E2BE",
+"9 c #12120E",
+"0 c #2E2A1E",
+"a c #3646FE",
+"b c #86829E",
+"c c #968E6A",
+"d c #1E22FA",
+"e c #C2BA92",
+"f c #DEEAFA",
+"g c #5A563E",
+"h c #566AFE",
+"i c #222216",
+"j c #D6CEA6",
+"k c #464232",
+"l c #BAB28A",
+"m c #222AFA",
+"n c #DEDABA",
+"o c #9E9672",
+"p c #0E0E0A",
+"q c #928A66",
+"r c #B2A67E",
+"s c #3A4AFE",
+"t c #CAC29A",
+"u c #363226",
+"v c #524E3A",
+"w c #222EFA",
+"x c #A29A8A",
+"y c #DED2AE",
+"z c #726E52",
+"A c #F6F6F6",
+"B c #4E62FE",
+"C c #1E1E16",
+"D c #867E5E",
+"E c #CECAB6",
+"F c #3E52FE",
+"G c #4E56EA",
+"H c #F2EED6",
+"I c #C6BA92",
+"J c #E6DEBA",
+"K c #A29672",
+"L c #AAA27A",
+"M c #B2AA82",
+"N c #C2B68E",
+"O c #D2C69E",
+"P c #A29A76",
+"Q c #5E72FE",
+"R c #423E2E",
+"S c #7A7256",
+"T c #CABE96",
+"U c #A2AAFA",
+"V c #928666",
+"W c #060606",
+"X c #1A1612",
+"Y c #EAE2CE",
+"Z c #BAAE86",
+"` c #867A5E",
+" . c #CEC29A",
+".. c #AEA27E",
+"+. c #DAD2AA",
+"@. c #D6CAA2",
+"#. c #8E8666",
+"$. c #BEB28A",
+"%. c #262EFA",
+"&. c #B6AA82",
+"*. c #625A46",
+"=. c #D6CEAE",
+"-. c #4A4632",
+";. c #56523E",
+">. c #7E7A62",
+",. c #EEE6CE",
+"'. c #564E46",
+"). c #EAE2C2",
+"!. c #BAAE8A",
+"~. c #E6DABA",
+"{. c #3E362A",
+"]. c #4652FE",
+"^. c #A69A76",
+"/. c #1E1A16",
+"(. c #3A3626",
+"_. c #625E46",
+":. c #C2B692",
+"<. c #9A8E6E",
+"[. c #968A6A",
+"}. c #B6AA86",
+"|. c #2632FA",
+"1. c #BEB28E",
+"2. c #E2DABE",
+"3. c #D2C6A6",
+"4. c #E2D6B2",
+"5. c #FAFAF6",
+"6. c #D6CAA6",
+"7. c #CABE9A",
+"8. c #3242FE",
+"9. c #827A5E",
+"0. c #26261E",
+"a. c #4256FE",
+"b. c #1A1A12",
+"c. c #AA9E7A",
+"d. c #5E5642",
+"e. c #2A32FA",
+"f. c #EEE6CA",
+"g. c #16120E",
+"h. c #DACEAA",
+"i. c #4A4232",
+"j. c #E2DAB6",
+"k. c #4A5EFE",
+"l. c #A6BAFE",
+"m. c #42426A",
+"n. c #5266FE",
+"o. c #EEEACE",
+"p. c #9E9272",
+"q. c #524A3A",
+"r. c #AEA682",
+"s. c #D2C6A2",
+"t. c #463E2E",
+"u. c #7E7256",
+"v. c #DED2B6",
+"w. c #E6DEC2",
+"x. c #AAA282",
+"y. c #EAE2C6",
+"z. c #E2D6BA",
+"A. c #564E3A",
+"B. c #221E16",
+"C. c #D6CEAA",
+"D. c #E2DABA",
+"E. c #8A8266",
+"F. c #3A362A",
+"G. c #CEC29E",
+"H. c #82765A",
+"I. c #C6D2FA",
+"J. c #26221A",
+"K. c #4252FE",
+"L. c #665A46",
+"M. c #DACEAE",
+"N. c #827A66",
+"O. c #665E46",
+"P. c #3E3A2E",
+"Q. c #B6AE8A",
+"R. c #BEB692",
+"S. c #CEC6A2",
+"T. c #928A6A",
+"U. c #C6BA96",
+"V. c #A29676",
+"W. c #AAA27E",
+"X. c #DED6B6",
+"Y. c #E6DEBE",
+"Z. c #A69A7A",
+"`. c #968E6E",
+" + c #B2A682",
+".+ c #423E32",
+"++ c #D6CAAA",
+"@+ c #E6E2C2",
+"#+ c #5A5642",
+"$+ c #9E9676",
+"%+ c #867E62",
+"&+ c #B2AA86",
+"*+ c #AA9E7E",
+"=+ c #464236",
+"-+ c #0E0E0E",
+";+ c #DED2B2",
+">+ c #DAD2AE",
+",+ c #4A4636",
+"'+ c #5E5646",
+")+ c #161212",
+"!+ c #564E3E",
+" ",
+" W.Y.1 $ T 7.j.j $ C.' I t 6. . ",
+" E Y.$ O &.' ; I T I 6 I ; N N T 6 T .r. ",
+" 1 X.O 7.I I +N I I e N }.N I T N :.Z N I T !.*+ ",
+" 2.I T Z t 7 Z &.: Z }.t Z r I $.T 7 Z &.T $.T t * c u. ",
+" 1 C.I N $.e $.I I $.&.1.&.!.&...6 l $.I I 1.$.I $.I N `.< ",
+" y.4.7.&+1.N !.$.' ..^.` i.0 J.B./._ R O.p.W.N I Z $.I K $._. ",
+" 1 S.I 7 I : N x.;.;.9 [.!.: I t l j e # X ",
+" ,.T N W.I T }.. 1 j T Z I W.I N C ",
+" J s.I Z I N Z F. j.w.I N I I }.I &.g.",
+" +.j.$.r :.&.T Z g M 2 2 ^.I T Z &.N p.W ",
+" ;+7 N I $.I I V.) A.%+[.: I I S ",
+" ; : I I !.' T / H. ` ..N b. ",
+" O ; 1.!.N e 2 !+{. R.O x ).l V T.. ",
+" $.Z :.T o /.. ).).$ I @.j ; I &. 1.7 M 0 ",
+" Z W.=+)+ o.j.j T Q.1.!.N N : .: `.9.Z e N P ",
+" $ D g < (.+ _ _ + < d.] T.W.S N 7 N #.@ ",
+" E.C ~.++p.N K k *._ G.7 I `. ",
+" 3.q.5 w 4 / 6 s.T e R ",
+" v.m.e.].s K.% b R s.O N q ",
+" Y.) m |.a.l.n.d , 6./. D.r $.&.0 ",
+" M.#+ y.W e.F } 5.I.^ k.@+z z.N I I -.",
+" Y ).F. $.. %.h A 5.5.Q m H D D.I Z I < ",
+" 1 =.+ y '.= = ! f { B |.@+-+ ( t T N W./.",
+" 1 1 e 0. 7 [ - a h |.& | < 8 >+7 T @.#.. ",
+" ; j :.c.$+ [.<.3 ~ 8.G U N.. f.y.7 $.:.T ^.9 ",
+" j 7.c.&.r... 2 I I V.b.. Y.h.G.Z N T I r..+ ",
+" $.r.* t t 6.I &.U.j @.j.j >.j.y.$ n s.$.I ; I 7 P P. ",
+" <.^.L ' I N .$.6 t t T @.e }.7 T I 7 $...I N 2 > ",
+" E.q P Z Z N N Z Z I !.I N Q.}.N Z Z p.'+F.. ",
+" v S p.}.o ..N N I T W.Z.<.L.i W ",
+" u F.P.F.,+i.t.(./.p "};