kopia lustrzana https://gitlab.com/sane-project/backends
Changed option titles and descriptions to make them better readable. Added
translation markers for all options. Added German translation for backend options. Updated manpage and .desc file concerning scanner status. Added untested flag for Mustek ScanEpress A3 USB and Lexmark X73.DEVEL_2_0_BRANCH-1
rodzic
d6789dfbd0
commit
1eee8d286e
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2002-11-07 Henning Meier-Geinitz <henning@meier-geinitz.de>
|
||||
|
||||
* backend/gt68xx.c backend/gt68xx_devices.c backend/gt68xx_high.h
|
||||
backend/gt68xx_low.h doc/sane-gt68xx.man doc/descriptions/gt68xx.desc
|
||||
doc/gt68xx/gt68xx.CHANGES po/Makefile.in po/gt68xx.de.po: Changed
|
||||
option titles and descriptions to make them better readable. Added
|
||||
translation markers for all options. Added German translation for
|
||||
backend options. Updated manpage and .desc file concerning scanner
|
||||
status. Added untested flag for Mustek ScanEpress A3 USB and Lexmark
|
||||
X73.
|
||||
|
||||
2002-11-05 Stéphane Voltz <svoltz@wanadoo.fr>
|
||||
|
||||
* backend/umax_pp.c backend/umax_pp_mid.c : OS/2 compile fix, indent
|
||||
|
|
169
backend/gt68xx.c
169
backend/gt68xx.c
|
@ -48,7 +48,7 @@
|
|||
|
||||
#include "../include/sane/config.h"
|
||||
|
||||
#define BUILD 28
|
||||
#define BUILD 29
|
||||
#define MAX_DEBUG
|
||||
#define WARMUP_TIME 30
|
||||
|
||||
|
@ -391,7 +391,7 @@ init_options (GT68xx_Scanner * s)
|
|||
s->opt[OPT_LAMP_ON].name = "lamp-on";
|
||||
s->opt[OPT_LAMP_ON].title = SANE_I18N ("Lamp always on");
|
||||
s->opt[OPT_LAMP_ON].desc =
|
||||
SANE_I18N ("Don't turn off the lamp after leaving the " "frontend.");
|
||||
SANE_I18N ("Don't turn off the lamp after leaving the frontend.");
|
||||
s->opt[OPT_LAMP_ON].type = SANE_TYPE_BOOL;
|
||||
s->opt[OPT_LAMP_ON].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_LAMP_ON].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
|
@ -399,19 +399,6 @@ init_options (GT68xx_Scanner * s)
|
|||
if (s->dev->model->is_cis)
|
||||
DISABLE (OPT_LAMP_ON);
|
||||
|
||||
/* auto warmup */
|
||||
s->opt[OPT_AUTO_WARMUP].name = "auto-warmup";
|
||||
s->opt[OPT_AUTO_WARMUP].title = SANE_I18N ("Automatic warmup";
|
||||
s->opt[OPT_AUTO_WARMUP].desc =
|
||||
"Check if the lamp's brightness is constant "
|
||||
"instead of insisting on waiting for 30 seconds.");
|
||||
s->opt[OPT_AUTO_WARMUP].type = SANE_TYPE_BOOL;
|
||||
s->opt[OPT_AUTO_WARMUP].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_AUTO_WARMUP].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
s->val[OPT_AUTO_WARMUP].w = SANE_TRUE;
|
||||
if (s->dev->model->is_cis)
|
||||
DISABLE (OPT_AUTO_WARMUP);
|
||||
|
||||
/* bit depth */
|
||||
s->opt[OPT_BIT_DEPTH].name = SANE_NAME_BIT_DEPTH;
|
||||
s->opt[OPT_BIT_DEPTH].title = SANE_TITLE_BIT_DEPTH;
|
||||
|
@ -452,34 +439,56 @@ init_options (GT68xx_Scanner * s)
|
|||
s->opt[OPT_DEBUG_GROUP].cap = 0;
|
||||
s->opt[OPT_DEBUG_GROUP].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
|
||||
/* auto warmup */
|
||||
s->opt[OPT_AUTO_WARMUP].name = "auto-warmup";
|
||||
s->opt[OPT_AUTO_WARMUP].title = SANE_I18N ("Automatic warmup");
|
||||
s->opt[OPT_AUTO_WARMUP].desc =
|
||||
SANE_I18N ("Warm-up until the lamp's brightness is constant "
|
||||
"instead of insisting on 30 seconds warm-up time.");
|
||||
s->opt[OPT_AUTO_WARMUP].type = SANE_TYPE_BOOL;
|
||||
s->opt[OPT_AUTO_WARMUP].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_AUTO_WARMUP].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
s->val[OPT_AUTO_WARMUP].w = SANE_TRUE;
|
||||
if (s->dev->model->is_cis)
|
||||
DISABLE (OPT_AUTO_WARMUP);
|
||||
|
||||
/* full scan */
|
||||
s->opt[OPT_FULL_SCAN].name = "full-scan";
|
||||
s->opt[OPT_FULL_SCAN].title = "Full scan";
|
||||
s->opt[OPT_FULL_SCAN].desc = "Scan the complete scanning area including "
|
||||
"calibration strip.";
|
||||
s->opt[OPT_FULL_SCAN].title = SANE_I18N ("Full scan");
|
||||
s->opt[OPT_FULL_SCAN].desc =
|
||||
SANE_I18N ("Scan the complete scanning area including calibration strip. "
|
||||
"Be carefull. Don't select the full height. For testing only.");
|
||||
s->opt[OPT_FULL_SCAN].type = SANE_TYPE_BOOL;
|
||||
s->opt[OPT_FULL_SCAN].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_FULL_SCAN].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
s->val[OPT_FULL_SCAN].w = SANE_FALSE;
|
||||
|
||||
/* automatic gain */
|
||||
s->opt[OPT_AUTO_GAIN].name = "auto-gain";
|
||||
s->opt[OPT_AUTO_GAIN].title = "Automatic gain";
|
||||
s->opt[OPT_AUTO_GAIN].desc = "Automatic setup of offset and gain. ";
|
||||
s->opt[OPT_AUTO_GAIN].type = SANE_TYPE_BOOL;
|
||||
s->opt[OPT_AUTO_GAIN].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_AUTO_GAIN].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
s->val[OPT_AUTO_GAIN].w = SANE_TRUE;
|
||||
s->opt[OPT_COARSE_CAL].name = "coarse-calibration";
|
||||
s->opt[OPT_COARSE_CAL].title = SANE_I18N ("Coarse calibration");
|
||||
s->opt[OPT_COARSE_CAL].desc =
|
||||
SANE_I18N ("Setup gain and offset for scanning automatically. If this "
|
||||
"option is disabled, options for setting the analog frontend "
|
||||
"parameters manually are provided. This option is enabled "
|
||||
"by default. For testing only.");
|
||||
s->opt[OPT_COARSE_CAL].type = SANE_TYPE_BOOL;
|
||||
s->opt[OPT_COARSE_CAL].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_COARSE_CAL].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
s->val[OPT_COARSE_CAL].w = SANE_TRUE;
|
||||
|
||||
/* automatic gain only once */
|
||||
s->opt[OPT_AUTO_GAIN_ONCE].name = "auto-gain-once";
|
||||
s->opt[OPT_AUTO_GAIN_ONCE].title = "Automatic gain for first scan only";
|
||||
s->opt[OPT_AUTO_GAIN_ONCE].desc =
|
||||
"Enable auto gain only for the first scan.";
|
||||
s->opt[OPT_AUTO_GAIN_ONCE].type = SANE_TYPE_BOOL;
|
||||
s->opt[OPT_AUTO_GAIN_ONCE].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_AUTO_GAIN_ONCE].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
s->val[OPT_AUTO_GAIN_ONCE].w = SANE_TRUE;
|
||||
s->opt[OPT_COARSE_CAL_ONCE].name = "coarse-calibration-once";
|
||||
s->opt[OPT_COARSE_CAL_ONCE].title =
|
||||
SANE_I18N ("Coarse calibration for first scan only");
|
||||
s->opt[OPT_COARSE_CAL_ONCE].desc =
|
||||
SANE_I18N ("Coarse calibration is only done for the first scan. Works "
|
||||
"with most scanners and can save scanning time. If the image "
|
||||
"brightness is different with each scan, disable this option. "
|
||||
"For testing only.");
|
||||
s->opt[OPT_COARSE_CAL_ONCE].type = SANE_TYPE_BOOL;
|
||||
s->opt[OPT_COARSE_CAL_ONCE].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_COARSE_CAL_ONCE].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
s->val[OPT_COARSE_CAL_ONCE].w = SANE_TRUE;
|
||||
|
||||
/* calibration */
|
||||
s->opt[OPT_QUALITY_CAL].name = SANE_NAME_QUALITY_CAL;
|
||||
|
@ -490,25 +499,6 @@ init_options (GT68xx_Scanner * s)
|
|||
s->opt[OPT_QUALITY_CAL].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
s->val[OPT_QUALITY_CAL].w = SANE_TRUE;
|
||||
|
||||
/* "Enhancement" group: */
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].title = "Enhancement";
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].desc = "";
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].type = SANE_TYPE_GROUP;
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].cap = 0;
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].size = 0;
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
|
||||
/* threshold */
|
||||
s->opt[OPT_THRESHOLD].name = SANE_NAME_THRESHOLD;
|
||||
s->opt[OPT_THRESHOLD].title = SANE_TITLE_THRESHOLD;
|
||||
s->opt[OPT_THRESHOLD].desc = SANE_DESC_THRESHOLD;
|
||||
s->opt[OPT_THRESHOLD].type = SANE_TYPE_INT;
|
||||
s->opt[OPT_THRESHOLD].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_THRESHOLD].constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
s->opt[OPT_THRESHOLD].constraint.range = &u8_range;
|
||||
s->val[OPT_THRESHOLD].w = 128;
|
||||
DISABLE (OPT_THRESHOLD);
|
||||
|
||||
/* exposure time red */
|
||||
s->opt[OPT_SCAN_EXPOS_TIME_R].name = SANE_NAME_SCAN_EXPOS_TIME_R;
|
||||
s->opt[OPT_SCAN_EXPOS_TIME_R].title = SANE_TITLE_SCAN_EXPOS_TIME_R;
|
||||
|
@ -544,8 +534,9 @@ init_options (GT68xx_Scanner * s)
|
|||
|
||||
/* offset red */
|
||||
s->opt[OPT_OFFSET_R].name = "offset-r";
|
||||
s->opt[OPT_OFFSET_R].title = "Offset red";
|
||||
s->opt[OPT_OFFSET_R].desc = "AFE offset red.";
|
||||
s->opt[OPT_OFFSET_R].title = SANE_I18N ("Offset red");
|
||||
s->opt[OPT_OFFSET_R].desc =
|
||||
SANE_I18N ("Offset (brightness) of the red channel.");
|
||||
s->opt[OPT_OFFSET_R].type = SANE_TYPE_INT;
|
||||
s->opt[OPT_OFFSET_R].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_OFFSET_R].constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
|
@ -555,8 +546,9 @@ init_options (GT68xx_Scanner * s)
|
|||
|
||||
/* offset green */
|
||||
s->opt[OPT_OFFSET_G].name = "offset-g";
|
||||
s->opt[OPT_OFFSET_G].title = "Offset green";
|
||||
s->opt[OPT_OFFSET_G].desc = "AFE offset green.";
|
||||
s->opt[OPT_OFFSET_G].title = SANE_I18N ("Offset green");
|
||||
s->opt[OPT_OFFSET_G].desc =
|
||||
SANE_I18N ("Offset (brightness) of the green (and gray) channel.");
|
||||
s->opt[OPT_OFFSET_G].type = SANE_TYPE_INT;
|
||||
s->opt[OPT_OFFSET_G].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_OFFSET_G].constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
|
@ -566,8 +558,9 @@ init_options (GT68xx_Scanner * s)
|
|||
|
||||
/* offset blue */
|
||||
s->opt[OPT_OFFSET_B].name = "offset-b";
|
||||
s->opt[OPT_OFFSET_B].title = "Offset blue";
|
||||
s->opt[OPT_OFFSET_B].desc = "AFE offset blue.";
|
||||
s->opt[OPT_OFFSET_B].title = SANE_I18N ("Offset blue");
|
||||
s->opt[OPT_OFFSET_B].desc =
|
||||
SANE_I18N ("Offset (brightness) of the blue channel.");
|
||||
s->opt[OPT_OFFSET_B].type = SANE_TYPE_INT;
|
||||
s->opt[OPT_OFFSET_B].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_OFFSET_B].constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
|
@ -577,8 +570,9 @@ init_options (GT68xx_Scanner * s)
|
|||
|
||||
/* gain red */
|
||||
s->opt[OPT_GAIN_R].name = "gain-r";
|
||||
s->opt[OPT_GAIN_R].title = "Gain red";
|
||||
s->opt[OPT_GAIN_R].desc = "AFE gain red.";
|
||||
s->opt[OPT_GAIN_R].title = SANE_I18N ("Gain red");
|
||||
s->opt[OPT_GAIN_R].desc =
|
||||
SANE_I18N ("Gain (contrast) of the red channel.");
|
||||
s->opt[OPT_GAIN_R].type = SANE_TYPE_INT;
|
||||
s->opt[OPT_GAIN_R].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_GAIN_R].constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
|
@ -588,8 +582,9 @@ init_options (GT68xx_Scanner * s)
|
|||
|
||||
/* gain green */
|
||||
s->opt[OPT_GAIN_G].name = "gain-g";
|
||||
s->opt[OPT_GAIN_G].title = "Gain green";
|
||||
s->opt[OPT_GAIN_G].desc = "AFE gain green.";
|
||||
s->opt[OPT_GAIN_G].title = SANE_I18N ("Gain green");
|
||||
s->opt[OPT_GAIN_G].desc =
|
||||
SANE_I18N ("Gain (contrast) of the green (and gray) channel.");
|
||||
s->opt[OPT_GAIN_G].type = SANE_TYPE_INT;
|
||||
s->opt[OPT_GAIN_G].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_GAIN_G].constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
|
@ -599,8 +594,9 @@ init_options (GT68xx_Scanner * s)
|
|||
|
||||
/* gain blue */
|
||||
s->opt[OPT_GAIN_B].name = "gain-b";
|
||||
s->opt[OPT_GAIN_B].title = "Gain blue";
|
||||
s->opt[OPT_GAIN_B].desc = "AFE gain blue.";
|
||||
s->opt[OPT_GAIN_B].title = SANE_I18N ("Gain blue");
|
||||
s->opt[OPT_GAIN_B].desc =
|
||||
SANE_I18N ("Gain (contrast) of the blue channel.");
|
||||
s->opt[OPT_GAIN_B].type = SANE_TYPE_INT;
|
||||
s->opt[OPT_GAIN_B].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_GAIN_B].constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
|
@ -608,6 +604,24 @@ init_options (GT68xx_Scanner * s)
|
|||
s->val[OPT_GAIN_B].w = s->dev->afe->b_pga;
|
||||
DISABLE (OPT_GAIN_B);
|
||||
|
||||
/* "Enhancement" group: */
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].title = SANE_I18N ("Enhancement");
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].desc = "";
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].type = SANE_TYPE_GROUP;
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].cap = 0;
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].size = 0;
|
||||
s->opt[OPT_ENHANCEMENT_GROUP].constraint_type = SANE_CONSTRAINT_NONE;
|
||||
|
||||
/* threshold */
|
||||
s->opt[OPT_THRESHOLD].name = SANE_NAME_THRESHOLD;
|
||||
s->opt[OPT_THRESHOLD].title = SANE_TITLE_THRESHOLD;
|
||||
s->opt[OPT_THRESHOLD].desc = SANE_DESC_THRESHOLD;
|
||||
s->opt[OPT_THRESHOLD].type = SANE_TYPE_INT;
|
||||
s->opt[OPT_THRESHOLD].unit = SANE_UNIT_NONE;
|
||||
s->opt[OPT_THRESHOLD].constraint_type = SANE_CONSTRAINT_RANGE;
|
||||
s->opt[OPT_THRESHOLD].constraint.range = &u8_range;
|
||||
s->val[OPT_THRESHOLD].w = 128;
|
||||
DISABLE (OPT_THRESHOLD);
|
||||
|
||||
/* "Geometry" group: */
|
||||
s->opt[OPT_GEOMETRY_GROUP].title = SANE_I18N ("Geometry");
|
||||
|
@ -1164,6 +1178,15 @@ sane_open (SANE_String_Const devicename, SANE_Handle * handle)
|
|||
RIE (gt68xx_device_open (dev, devicename));
|
||||
RIE (gt68xx_device_activate (dev));
|
||||
|
||||
if (dev->model->flags & GT68XX_FLAG_UNTESTED)
|
||||
{
|
||||
DBG (0, "WARNING: Your scanner is not fully supported or at least \n");
|
||||
DBG (0, " had only limited testing. Please be careful and \n");
|
||||
DBG (0, " report any failure/success to \n");
|
||||
DBG (0, " henning@meier-geinitz.de. Please provide as many\n");
|
||||
DBG (0, " details as possible, e.g. the exact name of your\n");
|
||||
DBG (0, " scanner and what does (not) work.\n");
|
||||
}
|
||||
RIE (gt68xx_device_check_firmware (dev, &firmware_loaded));
|
||||
if (firmware_loaded)
|
||||
DBG (3, "sane_open: firmware already loaded, skipping load\n");
|
||||
|
@ -1304,8 +1327,8 @@ sane_control_option (SANE_Handle handle, SANE_Int option,
|
|||
case OPT_RESOLUTION:
|
||||
case OPT_BIT_DEPTH:
|
||||
case OPT_FULL_SCAN:
|
||||
case OPT_AUTO_GAIN:
|
||||
case OPT_AUTO_GAIN_ONCE:
|
||||
case OPT_COARSE_CAL:
|
||||
case OPT_COARSE_CAL_ONCE:
|
||||
case OPT_QUALITY_CAL:
|
||||
case OPT_PREVIEW:
|
||||
case OPT_LAMP_ON:
|
||||
|
@ -1371,7 +1394,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option,
|
|||
break;
|
||||
case OPT_LAMP_ON:
|
||||
case OPT_AUTO_WARMUP:
|
||||
case OPT_AUTO_GAIN_ONCE:
|
||||
case OPT_COARSE_CAL_ONCE:
|
||||
case OPT_QUALITY_CAL:
|
||||
case OPT_THRESHOLD:
|
||||
case OPT_SCAN_EXPOS_TIME_R:
|
||||
|
@ -1434,11 +1457,11 @@ sane_control_option (SANE_Handle handle, SANE_Int option,
|
|||
myinfo |= SANE_INFO_RELOAD_PARAMS | SANE_INFO_RELOAD_OPTIONS;
|
||||
break;
|
||||
|
||||
case OPT_AUTO_GAIN:
|
||||
case OPT_COARSE_CAL:
|
||||
s->val[option].w = *(SANE_Word *) val;
|
||||
if (s->val[option].w == SANE_TRUE)
|
||||
{
|
||||
ENABLE (OPT_AUTO_GAIN_ONCE);
|
||||
ENABLE (OPT_COARSE_CAL_ONCE);
|
||||
DISABLE (OPT_SCAN_EXPOS_TIME_R);
|
||||
DISABLE (OPT_SCAN_EXPOS_TIME_G);
|
||||
DISABLE (OPT_SCAN_EXPOS_TIME_B);
|
||||
|
@ -1452,7 +1475,7 @@ sane_control_option (SANE_Handle handle, SANE_Int option,
|
|||
}
|
||||
else
|
||||
{
|
||||
DISABLE (OPT_AUTO_GAIN_ONCE);
|
||||
DISABLE (OPT_COARSE_CAL_ONCE);
|
||||
ENABLE (OPT_SCAN_EXPOS_TIME_R);
|
||||
ENABLE (OPT_SCAN_EXPOS_TIME_G);
|
||||
ENABLE (OPT_SCAN_EXPOS_TIME_B);
|
||||
|
@ -1529,12 +1552,12 @@ sane_start (SANE_Handle handle)
|
|||
}
|
||||
|
||||
setup_scan_request (s, &scan_request);
|
||||
if (!s->first_scan && s->val[OPT_AUTO_GAIN_ONCE].w == SANE_TRUE)
|
||||
if (!s->first_scan && s->val[OPT_COARSE_CAL_ONCE].w == SANE_TRUE)
|
||||
s->auto_afe = SANE_FALSE;
|
||||
else
|
||||
s->auto_afe = s->val[OPT_AUTO_GAIN].w;
|
||||
s->auto_afe = s->val[OPT_COARSE_CAL].w;
|
||||
|
||||
if (s->val[OPT_AUTO_GAIN].w == SANE_FALSE)
|
||||
if (s->val[OPT_COARSE_CAL].w == SANE_FALSE)
|
||||
{
|
||||
s->dev->exposure->r_time = s->val[OPT_SCAN_EXPOS_TIME_R].w;
|
||||
s->dev->exposure->g_time = s->val[OPT_SCAN_EXPOS_TIME_G].w;
|
||||
|
|
|
@ -227,8 +227,8 @@ static GT68xx_Model mustek_1200ta_model = {
|
|||
{0x2a, 0x0c, 0x2e, 0x06, 0x2d, 0x07},
|
||||
{0x157, 0x157, 0x157},
|
||||
SANE_FALSE,
|
||||
0
|
||||
/* Everything untested */
|
||||
GT68XX_FLAG_UNTESTED
|
||||
/* Setup for 1200 TA */
|
||||
};
|
||||
|
||||
static GT68xx_Model mustek_1200cuplus_model = {
|
||||
|
@ -488,7 +488,7 @@ static GT68xx_Model mustek_2400cu_model = {
|
|||
{0x157, 0x157, 0x157},
|
||||
SANE_TRUE,
|
||||
0
|
||||
/* basically tested, works up to 300 dpi (?) */
|
||||
/* basically tested, details may need tweaking */
|
||||
};
|
||||
|
||||
static GT68xx_Model mustek_a3usb_model = {
|
||||
|
@ -530,8 +530,8 @@ static GT68xx_Model mustek_a3usb_model = {
|
|||
{0x14, 0x07, 0x14, 0x07, 0x14, 0x07},
|
||||
{0x157, 0x157, 0x157},
|
||||
SANE_TRUE,
|
||||
0
|
||||
/* Completely untested */
|
||||
GT68XX_FLAG_UNTESTED
|
||||
/* Completely untested, doesn't seem to work */
|
||||
};
|
||||
|
||||
static GT68xx_Model lexmark_x73_model = {
|
||||
|
@ -574,12 +574,13 @@ static GT68xx_Model lexmark_x73_model = {
|
|||
{0x14, 0x07, 0x14, 0x07, 0x14, 0x07},
|
||||
{0x157, 0x157, 0x157},
|
||||
SANE_FALSE,
|
||||
0
|
||||
/* 50 dpi and 1200 dpi scan does not work (for lexmark x70); when using
|
||||
automatic gain pictures are too dark. Only some ad hoc tests for
|
||||
lexmark x70 were done so far. WARNING: Don't use the Full scan option
|
||||
with the above settings, otherwise the sensor may bump at the end of
|
||||
the sledge and the scanner may be damaged! */
|
||||
GT68XX_FLAG_UNTESTED
|
||||
|
||||
/* 50 dpi and 1200 dpi scan does not work (for lexmark x70); when using
|
||||
automatic gain pictures are too dark. Only some ad hoc tests for
|
||||
lexmark x70 were done so far. WARNING: Don't use the Full scan option
|
||||
with the above settings, otherwise the sensor may bump at the end of
|
||||
the sledge and the scanner may be damaged! */
|
||||
};
|
||||
|
||||
static GT68xx_USB_Device_Entry gt68xx_usb_device_list[] = {
|
||||
|
|
|
@ -192,16 +192,13 @@ enum GT68xx_Option
|
|||
OPT_BIT_DEPTH,
|
||||
OPT_RESOLUTION,
|
||||
OPT_LAMP_ON,
|
||||
OPT_AUTO_WARMUP,
|
||||
|
||||
OPT_DEBUG_GROUP,
|
||||
OPT_AUTO_WARMUP,
|
||||
OPT_FULL_SCAN,
|
||||
OPT_AUTO_GAIN,
|
||||
OPT_AUTO_GAIN_ONCE,
|
||||
OPT_COARSE_CAL,
|
||||
OPT_COARSE_CAL_ONCE,
|
||||
OPT_QUALITY_CAL,
|
||||
|
||||
OPT_ENHANCEMENT_GROUP,
|
||||
OPT_THRESHOLD,
|
||||
OPT_SCAN_EXPOS_TIME_R,
|
||||
OPT_SCAN_EXPOS_TIME_G,
|
||||
OPT_SCAN_EXPOS_TIME_B,
|
||||
|
@ -212,6 +209,9 @@ enum GT68xx_Option
|
|||
OPT_GAIN_G,
|
||||
OPT_GAIN_B,
|
||||
|
||||
OPT_ENHANCEMENT_GROUP,
|
||||
OPT_THRESHOLD,
|
||||
|
||||
OPT_GEOMETRY_GROUP,
|
||||
OPT_TL_X, /* top-left x */
|
||||
OPT_TL_Y, /* top-left y */
|
||||
|
|
|
@ -129,6 +129,7 @@
|
|||
#define GT68XX_FLAG_MIRROR_X (1 << 0) /* CIS unit mounted the other way round? */
|
||||
#define GT68XX_FLAG_MOTOR_HOME (1 << 1) /* Use motor_home command (0x34) */
|
||||
#define GT68XX_FLAG_OFFSET_INV (1 << 2) /* Offset control is inverted */
|
||||
#define GT68XX_FLAG_UNTESTED (1 << 3) /* Print a warning for these scanners */
|
||||
|
||||
/* Forward typedefs */
|
||||
typedef struct GT68xx_USB_Device_Entry GT68xx_USB_Device_Entry;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
:backend "gt68xx"
|
||||
:status :alpha
|
||||
:version "1.0-27"
|
||||
:version "1.0-29"
|
||||
:manpage "sane-gt68xx"
|
||||
:url "http://www.meier-geinitz.de/sane/gt68xx-backend/"
|
||||
:comment "Only the USB scanners mentioned below are supported. For other Mustek BearPaws, look at the Plustek backend."
|
||||
|
@ -21,8 +21,7 @@
|
|||
|
||||
:model "BearPaw 1200 CU Plus"
|
||||
:interface "USB"
|
||||
:comment "probably works, reports are welcome"
|
||||
:status :untested
|
||||
:status :beta
|
||||
|
||||
:model "BearPaw 1200 TA"
|
||||
:interface "USB"
|
||||
|
@ -46,8 +45,7 @@
|
|||
|
||||
:model "BearPaw 2400 CU Plus"
|
||||
:interface "USB"
|
||||
:status :alpha
|
||||
:comment "works, but calibration is slow"
|
||||
:status :beta
|
||||
|
||||
:model "BearPaw 2400 TA"
|
||||
:interface "USB"
|
||||
|
@ -131,7 +129,7 @@
|
|||
:comment "Similar to Artec Ultima 2000"
|
||||
|
||||
:model "Compact Scan USB 19200"
|
||||
:status :alpha
|
||||
:status :beta
|
||||
:interface "USB"
|
||||
:comment "works, if you have vendor id 0x055f and product id 0x0006, use the mustek_usb backend instead, similar to Mustek ScanExpress 1200 UB (Plus)"
|
||||
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
V 1.0-29 (2002-11-??)
|
||||
|
||||
- Changed option titles and descriptions to make them better readable.
|
||||
- Added translation markers for all options.
|
||||
- Added German translation for backend options.
|
||||
- Updated manpage and .desc file concerning scanner status.
|
||||
- Added untested flag for Mustek ScanEpress A3 USB and Lexmark X73.
|
||||
|
||||
V 1.0-28 (2002-10-31)
|
||||
|
||||
- Reduce scan width of 2400 TA Plus: otherwise the black mark would create
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH sane-gt68xx 5 "25 Oct 2002"
|
||||
.TH sane-gt68xx 5 "5 Nov 2002"
|
||||
.IX sane-gt68xx
|
||||
.SH NAME
|
||||
sane-gt68xx - SANE backend for GT-68XX based USB flatbed scanners
|
||||
|
@ -25,7 +25,7 @@ Medion/Lifetec/Tevion MD 9458
|
|||
.br
|
||||
Mustek BearPaw 1200 CS
|
||||
.br
|
||||
Mustek BearPaw 1200 CU
|
||||
Mustek BearPaw 1200 CU (Plus)
|
||||
.br
|
||||
Mustek BearPaw 1200 TA
|
||||
.br
|
||||
|
|
|
@ -5,6 +5,7 @@ all: check-mo
|
|||
|
||||
# Create one line per backend with all files containing translatable text:
|
||||
epson.*.po: ../backend/epson.c ../backend/epson.h
|
||||
gt68xx.*.po: ../backend/gt68xx.c
|
||||
matsushita.*.po: ../backend/matsushita.c ../backend/matsushita.h
|
||||
mustek.*.po: ../backend/mustek.c
|
||||
mustek_usb.*.po: ../backend/mustek_usb.c
|
||||
|
@ -56,10 +57,10 @@ ALL_LINGUAS = $(sort $(subst .,,$(suffix $(basename $(ALL_POS)))))
|
|||
|
||||
DISTCLEAN_FILES = @DISTCLEAN_FILES@
|
||||
|
||||
DISTFILES = Makefile.in README epson.de.po mustek.de.po matsushita.fr.po \
|
||||
mustek_usb.de.po plustek.de.po plustek.es.po pnm.de.po saneopts.de.po \
|
||||
saneopts.fr.po saneopts.es.po sceptre.fr.po teco1.fr.po umax.de.po \
|
||||
umax.fr.po umax_pp.fr.po snapscan.de.po umax_pp.de.po
|
||||
DISTFILES = Makefile.in README epson.de.po gt68xx.de.po mustek.de.po \
|
||||
matsushita.fr.po mustek_usb.de.po plustek.de.po plustek.es.po pnm.de.po \
|
||||
saneopts.de.po saneopts.fr.po saneopts.es.po sceptre.fr.po teco1.fr.po \
|
||||
umax.de.po umax.fr.po umax_pp.fr.po snapscan.de.po umax_pp.de.po
|
||||
|
||||
.PHONY: all clean depend dist distclean install install-translations \
|
||||
uninstall update-mo update-po generate-%
|
||||
|
|
|
@ -0,0 +1,152 @@
|
|||
# Translation file for SANE gt68xx backend.
|
||||
# Copyright (C) 2002 Henning Meier-Geinitz.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: sane-backends 1.0.9\n"
|
||||
"POT-Creation-Date: 2002-11-03 18:16+0100\n"
|
||||
"PO-Revision-Date: 2002-11-03 17:55+0100\n"
|
||||
"Last-Translator: Henning Meier-Geinitz <henning@meier-geinitz.de>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=iso-8859-15\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: .tmp/gt68xx.c:114
|
||||
msgid "Color"
|
||||
msgstr "Farbe"
|
||||
|
||||
#: .tmp/gt68xx.c:115
|
||||
msgid "Gray"
|
||||
msgstr "Graustufen"
|
||||
|
||||
#: .tmp/gt68xx.c:116
|
||||
msgid "Lineart"
|
||||
msgstr "Strichzeichnung"
|
||||
|
||||
#: .tmp/gt68xx.c:121
|
||||
msgid "Flatbed"
|
||||
msgstr "Flachbett"
|
||||
|
||||
#: .tmp/gt68xx.c:122
|
||||
msgid "Transparency Adapter"
|
||||
msgstr "Durchlichteinheit"
|
||||
|
||||
#: .tmp/gt68xx.c:351
|
||||
msgid "Scan Mode"
|
||||
msgstr "Scanmodus"
|
||||
|
||||
#: .tmp/gt68xx.c:392
|
||||
msgid "Lamp always on"
|
||||
msgstr "Lampe ständig an"
|
||||
|
||||
#: .tmp/gt68xx.c:394
|
||||
msgid "Don't turn off the lamp after leaving the frontend."
|
||||
msgstr "Nach dem Beenden des Frontends wird die Lampe nicht ausgeschaltet."
|
||||
|
||||
#: .tmp/gt68xx.c:435
|
||||
msgid "Debugging Options"
|
||||
msgstr "Optionen zur Fehlersuche"
|
||||
|
||||
#: .tmp/gt68xx.c:444
|
||||
msgid "Automatic warmup"
|
||||
msgstr "Automatisches Aufwärmen"
|
||||
|
||||
#: .tmp/gt68xx.c:446
|
||||
msgid ""
|
||||
"Warm-up until the lamp's brightness is constant instead of insisting on 30 "
|
||||
"seconds warm-up time."
|
||||
msgstr ""
|
||||
"Warte solange, bis die Helligkeit der Lampe konstant ist anstatt einfach 30 "
|
||||
"Sekunden zu warten."
|
||||
|
||||
#: .tmp/gt68xx.c:457
|
||||
msgid "Full scan"
|
||||
msgstr "Kompletter Scan"
|
||||
|
||||
#: .tmp/gt68xx.c:459
|
||||
msgid ""
|
||||
"Scan the complete scanning area including calibration strip. Be carefull. "
|
||||
"Don't select the full height. For testing only."
|
||||
msgstr ""
|
||||
"Scanne den gesamten möglichen Scanbereich inklusive des "
|
||||
"Kalibrierungsstreifens. Vorsicht, keine zu große Länge auswählen. Nur für "
|
||||
"Testzwecke."
|
||||
|
||||
#: .tmp/gt68xx.c:468
|
||||
msgid "Coarse calibration"
|
||||
msgstr "Grobkalibrierung"
|
||||
|
||||
#: .tmp/gt68xx.c:470
|
||||
msgid ""
|
||||
"Setup gain and offset for scanning automatically. If this option is "
|
||||
"disabled, options for setting the analog frontend parameters manually are "
|
||||
"provided. This option is enabled by default. For testing only."
|
||||
msgstr "Stelle Verstärkung und Versatz automatisch ein. Wenn dies Option ausgeschaltet ist, können die Parameter des AFE (\"Analog Frontend\") manuell eingestellt werden. Diese Option is standardmäßig an. Nur für Testzwecke."
|
||||
|
||||
#: .tmp/gt68xx.c:482
|
||||
msgid "Coarse calibration for first scan only"
|
||||
msgstr "Grobkalibrierung nur für ersten Scan"
|
||||
|
||||
#: .tmp/gt68xx.c:484
|
||||
msgid ""
|
||||
"Coarse calibration is only done for the first scan. Works with most scanners "
|
||||
"and can save scanning time. If the image brightness is different with each "
|
||||
"scan, disable this option. For testing only."
|
||||
msgstr "Die Grobkalibrierung wird nur für den ersten Scan durchgeführt. Das funktioniert mit den meisten Scannern und kann einiges an Scanzeit sparen. Wenn die Helligkeit der Bilder von Scan zu Scan schwankt, sollte diese Option ausgeschaltet werden. Nur für Testzwecke."
|
||||
|
||||
#: .tmp/gt68xx.c:537
|
||||
msgid "Offset red"
|
||||
msgstr "Versatz rot"
|
||||
|
||||
#: .tmp/gt68xx.c:539
|
||||
msgid "Offset (brightness) of the red channel."
|
||||
msgstr "Versatz (Helligkeit) des roten Kanals."
|
||||
|
||||
#: .tmp/gt68xx.c:549
|
||||
msgid "Offset green"
|
||||
msgstr "Versatz grün"
|
||||
|
||||
#: .tmp/gt68xx.c:551
|
||||
msgid "Offset (brightness) of the green (and gray) channel."
|
||||
msgstr "Versatz (Helligkeit) des grünen (und grauen) Kanals."
|
||||
|
||||
#: .tmp/gt68xx.c:561
|
||||
msgid "Offset blue"
|
||||
msgstr "Versatz blau"
|
||||
|
||||
#: .tmp/gt68xx.c:563
|
||||
msgid "Offset (brightness) of the blue channel."
|
||||
msgstr "Versatz (Helligkeit) des blauen Kanals."
|
||||
|
||||
#: .tmp/gt68xx.c:573
|
||||
msgid "Gain red"
|
||||
msgstr "Gewinn rot"
|
||||
|
||||
#: .tmp/gt68xx.c:575
|
||||
msgid "Gain (contrast) of the red channel."
|
||||
msgstr "Gewinn (Kontrast) des roten Kanals."
|
||||
|
||||
#: .tmp/gt68xx.c:585
|
||||
msgid "Gain green"
|
||||
msgstr "Gewinn grün"
|
||||
|
||||
#: .tmp/gt68xx.c:587
|
||||
msgid "Gain (contrast) of the green (and gray) channel."
|
||||
msgstr "Gewinn (Kontarast) des grünen (und grauen) Kanals."
|
||||
|
||||
#: .tmp/gt68xx.c:597
|
||||
msgid "Gain blue"
|
||||
msgstr "Gewinn blau"
|
||||
|
||||
#: .tmp/gt68xx.c:599
|
||||
msgid "Gain (contrast) of the blue channel."
|
||||
msgstr "Gewinn (Kontrast) des blauen Kanals."
|
||||
|
||||
#: .tmp/gt68xx.c:608
|
||||
msgid "Enhancement"
|
||||
msgstr "Farbkorrektur"
|
||||
|
||||
#: .tmp/gt68xx.c:627
|
||||
msgid "Geometry"
|
||||
msgstr "Scanbereich"
|
Ładowanie…
Reference in New Issue