Start of Twister TWAIN Analysis Analysis Started: 2005.05.10 at 21:27:04 Twister Version: 1.05.004 --- TW_IDENTITY block --- Product Name: UMAX Astra 4700 Product Family: UMAX Astra 4700 Manufacturer: UMAX Software Version: 1.9 ("Version 6.00") TWAIN Protocol Version: 1.9 --- DataSource File Version Info --- File: C:\WINDOWS\Twain_32\UMAX\ASTRA4700\AS4700.ds File Timestamp: 2005.05.10 16:44:29 File version: 0.1.2.11 Product version: 0.1.2.11 Description: TWAIN Driver Scan file Copyright: Copyright(C) 2002, UMAX Inc. Comments: Company: UMAX File Version: 0, 1, 2, 11 Internal Name: DS Language: Legal Trademarks: Original Filename: DS Private Build: Product Name: Product Version: 0, 1, 2, 11 Special Build: NeU Section 1. Capabilities If a capability does not appear in the following list, then the device reported it as unsupported in conformance with the TWAIN standard. CAP_XFERCOUNT: GET.............int16 -1 GETCURRENT......int16 -1 GETDEFAULT......int16 -1 ICAP_COMPRESSION: GET.............uint16 ENUM{ TWCP_NONE } Current: TWCP_NONE, Default: TWCP_NONE GETCURRENT......uint16 TWCP_NONE GETDEFAULT......uint16 TWCP_NONE SET.............TWCP_NONE ok ICAP_PIXELTYPE: GET.............uint16 ENUM{ TWPT_BW, TWPT_GRAY, TWPT_RGB, TWPT_PALETTE } Current: TWPT_BW, Default: TWPT_BW GETCURRENT......uint16 TWPT_BW GETDEFAULT......uint16 TWPT_BW SET.............TWPT_BW ok SET.............TWPT_GRAY ok SET.............TWPT_RGB ok SET.............TWPT_PALETTE ok ICAP_UNITS: GET.............uint16 ENUM{ TWUN_INCHES, TWUN_CENTIMETERS, TWUN_PIXELS } Current: TWUN_INCHES, Default: TWUN_INCHES GETCURRENT......uint16 TWUN_INCHES GETDEFAULT......uint16 TWUN_INCHES SET.............TWUN_INCHES ok SET.............TWUN_CENTIMETERS ok SET.............TWUN_PIXELS ok ICAP_XFERMECH: GET............*uint16 ENUM{ TWSX_NATIVE, TWSX_FILE, TWSX_MEMORY } Current: TWSX_MEMORY, Default: TWSX_MEMORY GETCURRENT......uint16 TWSX_MEMORY GETDEFAULT......uint16 TWSX_MEMORY SET.............TWSX_NATIVE ok SET.............TWSX_FILE ok SET.............TWSX_MEMORY ok CAP_FEEDERENABLED: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE)......?failed SET(FALSE)......ok CAP_FEEDERLOADED: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE CAP_SUPPORTEDCAPS: GET.............uint16 ARRAY[ CAP_AUTOFEED, CAP_FEEDERLOADED, CAP_FEEDERENABLED, CAP_CLEARPAGE, CAP_CUSTOMDSDATA, CAP_DEVICEONLINE, CAP_DUPLEX, CAP_DUPLEXENABLED, CAP_ENABLEDSUIONLY, CAP_FEEDPAGE, CAP_INDICATORS, CAP_SUPPORTEDCAPS, CAP_XFERCOUNT, CAP_UICONTROLLABLE, ICAP_AUTOBRIGHT, ICAP_BITDEPTH, ICAP_BITDEPTHREDUCTION, ICAP_BITORDER, ICAP_BRIGHTNESS, ICAP_COMPRESSION, ICAP_CONTRAST, ICAP_EXTIMAGEINFO, ICAP_FILTER, ICAP_FRAMES, ICAP_GAMMA, ICAP_HALFTONES, ICAP_HIGHLIGHT, ICAP_IMAGEFILEFORMAT, ICAP_LIGHTPATH, ICAP_LIGHTSOURCE, ICAP_MAXFRAMES, ICAP_MINIMUMHEIGHT, ICAP_MINIMUMWIDTH, ICAP_ORIENTATION, ICAP_PHYSICALHEIGHT, ICAP_PHYSICALWIDTH, ICAP_PIXELFLAVOR, ICAP_PIXELTYPE, ICAP_PLANARCHUNKY, ICAP_SUPPORTEDSIZES, ICAP_SHADOW, ICAP_THRESHOLD, ICAP_TILES, ICAP_UNDEFINEDIMAGESIZE, ICAP_UNITS, ICAP_XFERMECH, ICAP_XNATIVERESOLUTION, ICAP_XRESOLUTION, ICAP_XSCALING, ICAP_YNATIVERESOLUTION, ICAP_YRESOLUTION, ICAP_YSCALING ] GETCURRENT......ditto GETDEFAULT......ditto CAP_AUTOFEED: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET.............not tested, can't enable feeder. CAP_CLEARPAGE: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET.............not tested due to side effects. CAP_FEEDPAGE: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET.............not tested due to side effects. CAP_INDICATORS: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE SET(FALSE)......ok SET(TRUE).......ok CAP_UICONTROLLABLE: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE CAP_DEVICEONLINE: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE CAP_DUPLEX: GET.............uint16 TWDX_NONE GETCURRENT......uint16 TWDX_NONE GETDEFAULT......uint16 TWDX_NONE CAP_DUPLEXENABLED: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE)......?failed SET(FALSE)......ok CAP_ENABLEDSUIONLY: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE CAP_CUSTOMDSDATA: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE ICAP_AUTOBRIGHT: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE)......?failed SET(FALSE)......ok ICAP_BRIGHTNESS: GET............*fix32 From -999.999985 To 1000 Step 10, Current: 0, Default: 0 GETCURRENT......fix32 0 GETDEFAULT......fix32 0 SET............*-999.999985 set wrong value: -999.9 SET............*-509.999985 set wrong value: -509.9 SET............*-9.999985 set wrong value: -9.89998 SET.............490.000015 close enough: 490 SET.............990.000015 close enough: 990 ICAP_CONTRAST: GET............*fix32 From -999.999985 To 1000 Step 10, Current: 0, Default: 0 GETCURRENT......fix32 0 GETDEFAULT......fix32 0 SET............*-999.999985 set wrong value: -999.9 SET............*-509.999985 set wrong value: -509.9 SET............*-9.999985 set wrong value: -9.89998 SET.............490.000015 close enough: 490 SET.............990.000015 close enough: 990 ICAP_FILTER: GET............*uint16 TWFT_GREEN SET............?TWFT_NONE failed ICAP_GAMMA: GET.............fix32 2.199997 GETCURRENT......fix32 2.199997 GETDEFAULT......fix32 2.199997 SET.............2.199997 ok ICAP_HALFTONES: GET............*str32 ENUM{ "Halftone 1", "Diffusion 1" } Current: "Diffusion 1", Default: "Halftone 1" GETCURRENT......str32 "Halftone 3" GETDEFAULT......str32 "Halftone 1" SET............?"Halftone 1" failed SET............?"Diffusion 1" failed ICAP_HIGHLIGHT: GET.............fix32 From 1 To 255 Step 1, Current: 255, Default: 255 GETCURRENT......fix32 255 GETDEFAULT......fix32 255 SET.............255 ok SET.............1 ok SET.............64 ok SET.............128 ok SET.............191 ok ICAP_IMAGEFILEFORMAT: GET.............uint16 ENUM{ TWFF_BMP } Current: TWFF_BMP, Default: TWFF_BMP GETCURRENT......uint16 TWFF_BMP GETDEFAULT......uint16 TWFF_BMP SET.............TWFF_BMP ok ICAP_LIGHTSOURCE: GET.............uint16 ENUM{ TWLS_WHITE } Current: TWLS_WHITE, Default: TWLS_WHITE GETCURRENT......uint16 TWLS_WHITE GETDEFAULT......uint16 TWLS_WHITE SET.............TWLS_WHITE ok ICAP_ORIENTATION: GET.............uint16 ENUM{ TWOR_ROT0 (PORTRAIT) } Current: TWOR_ROT0 (PORTRAIT), Default: TWOR_ROT0 (PORTRAIT) GETCURRENT......uint16 TWOR_ROT0 (PORTRAIT) GETDEFAULT......ditto SET.............TWOR_ROT0 (PORTRAIT) ok ICAP_PHYSICALWIDTH: GET.............fix32 8.506668 GETCURRENT......fix32 8.506668 GETDEFAULT......fix32 8.506668 ICAP_PHYSICALHEIGHT: GET.............fix32 11.693329 GETCURRENT......fix32 11.693329 GETDEFAULT......fix32 11.693329 ICAP_SHADOW: GET............*fix32 From 0 To 254 Step 1, Current: 0, Default: 0 GETCURRENT......fix32 0 GETDEFAULT......fix32 0 SET.............0 ok SET.............63 ok SET.............127 ok SET.............190 ok SET.............254 ok ICAP_FRAMES: GET.............frame Frame(0, 0, 8.50667, 11.6933) GETCURRENT......ditto GETDEFAULT......ditto ICAP_XNATIVERESOLUTION: GET.............fix32 1200 GETCURRENT......fix32 1200 GETDEFAULT......fix32 1200 ICAP_YNATIVERESOLUTION: GET.............fix32 1200 GETCURRENT......fix32 1200 GETDEFAULT......fix32 1200 ICAP_XRESOLUTION: GET.............fix32 From 50 To 19200 Step 1, Current: 200, Default: 300 GETCURRENT......fix32 200 GETDEFAULT......fix32 300 SET.............300 ok SET.............50 ok SET.............4837 ok SET.............9625 ok SET.............14412 ok SET.............19200 ok ICAP_YRESOLUTION: GET.............fix32 From 50 To 19200 Step 1, Current: 200, Default: 300 GETCURRENT......fix32 200 GETDEFAULT......fix32 300 SET.............300 ok SET.............50 ok SET.............4837 ok SET.............9625 ok SET.............14412 ok SET.............19200 ok ICAP_MAXFRAMES: GET.............uint16 1 GETCURRENT......uint16 1 GETDEFAULT......uint16 1 SET............?1 failed ICAP_TILES: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE)......?failed SET(FALSE)......ok ICAP_BITORDER: GET.............uint16 ENUM{ TWBO_MSBFIRST } Current: TWBO_MSBFIRST, Default: TWBO_MSBFIRST GETCURRENT......uint16 TWBO_MSBFIRST GETDEFAULT......uint16 TWBO_MSBFIRST SET.............TWBO_MSBFIRST ok ICAP_LIGHTPATH: GET.............uint16 ENUM{ TWLP_REFLECTIVE, TWLP_TRANSMISSIVE } Current: TWLP_REFLECTIVE, Default: TWLP_REFLECTIVE GETCURRENT......uint16 TWLP_REFLECTIVE GETDEFAULT......uint16 TWLP_REFLECTIVE SET.............TWLP_REFLECTIVE ok SET.............TWLP_TRANSMISSIVE ok ICAP_PIXELFLAVOR: GET.............uint16 ENUM{ TWPF_CHOCOLATE, TWPF_VANILLA } Current: TWPF_CHOCOLATE, Default: TWPF_CHOCOLATE GETCURRENT......uint16 TWPF_CHOCOLATE GETDEFAULT......uint16 TWPF_CHOCOLATE SET.............TWPF_CHOCOLATE ok SET.............TWPF_VANILLA ok ICAP_PLANARCHUNKY: GET.............uint16 ENUM{ TWPC_CHUNKY, TWPC_PLANAR } Current: TWPC_CHUNKY, Default: TWPC_CHUNKY GETCURRENT......uint16 TWPC_CHUNKY GETDEFAULT......uint16 TWPC_CHUNKY SET.............TWPC_CHUNKY ok SET.............TWPC_PLANAR ok ICAP_SUPPORTEDSIZES: GET.............uint16 ENUM{ TWSS_NONE, TWSS_A4(TWSS_A4LETTER), TWSS_B5LETTER/TWSS_JISB5, TWSS_USLETTER, TWSS_A5 } Current: TWSS_USLETTER, Default: TWSS_USLETTER GETCURRENT......uint16 TWSS_USLETTER GETDEFAULT......uint16 TWSS_USLETTER SET.............TWSS_NONE ok SET.............TWSS_A4(TWSS_A4LETTER) ok SET.............TWSS_B5LETTER/TWSS_JISB5 ok SET.............TWSS_USLETTER ok SET.............TWSS_A5 ok ICAP_THRESHOLD: GET............*returned invalid Container. GETCURRENT......fix32 128 GETDEFAULT......fix32 128 ICAP_XSCALING: GET.............fix32 100 GETCURRENT......fix32 100 GETDEFAULT......fix32 100 SET.............100 ok ICAP_YSCALING: GET.............fix32 100 GETCURRENT......fix32 100 GETDEFAULT......fix32 100 SET.............100 ok ICAP_BITDEPTH: GET............*uint16 ENUM{ 1, 8, 16, 24, 48 } Current: 1, Default: 1 GETCURRENT......uint16 1 GETDEFAULT......uint16 1 ICAP_BITDEPTHREDUCTION: GET.............uint16 ENUM{ TWBR_THRESHOLD, TWBR_HALFTONE, TWBR_DIFFUSION } Current: TWBR_THRESHOLD, Default: TWBR_THRESHOLD GETCURRENT......uint16 TWBR_THRESHOLD GETDEFAULT......uint16 TWBR_THRESHOLD SET.............TWBR_THRESHOLD ok SET.............TWBR_HALFTONE ok SET.............TWBR_DIFFUSION ok ICAP_UNDEFINEDIMAGESIZE: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE).......ok SET(FALSE)......ok ICAP_EXTIMAGEINFO: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE)......?failed SET(FALSE)......ok ICAP_MINIMUMHEIGHT: GET.............fix32 0.214005 GETCURRENT......fix32 0.214005 GETDEFAULT......fix32 0.214005 ICAP_MINIMUMWIDTH: GET.............fix32 0.214005 GETCURRENT......fix32 0.214005 GETDEFAULT......fix32 0.214005 Section 2. Image Layout DG_IMAGE, DAT_IMAGELAYOUT, MSG_RESET => OK. DG_IMAGE, DAT_IMAGELAYOUT, MSG_GETDEFAULT => ( 0, 0, 8.5, 11). DG_IMAGE, DAT_IMAGELAYOUT, MSG_GET => ( 0, 0, 8.5, 11). DG_IMAGE, DAT_IMAGELAYOUT, MSG_SET (1.06, 1.83, 2.12, 3.66) => OK. Scanning to verify image layout: OK Returned image is 96 x 183 pixels, with resolution of 100 x 100 DPI Requested resolution was: 100 x 100 DPI Width = 0.96 (versus requested 1.06) Height = 1.83 (versus requested 1.83) ---------- Questions [? items] ---------- (0) ICAP_BITDEPTH: GET contains value 24. Technically non-compliant. (1) Could not set CAP_FEEDERENABLED to TRUE. (2) Could not set CAP_DUPLEXENABLED to TRUE. (3) Could not set ICAP_AUTOBRIGHT to TRUE. (4) Could not set ICAP_FILTER to TWFT_NONE. (5) Could not set ICAP_HALFTONES to ""Halftone 1"". (6) Could not set ICAP_HALFTONES to ""Diffusion 1"". (7) Could not set ICAP_MAXFRAMES to 1. (8) Could not set ICAP_TILES to TRUE. (9) Could not set ICAP_EXTIMAGEINFO to TRUE. ---------- Compliance Issues [* items] ---------- (0) ICAP_XFERMECH: GET after open, current value is not TWSX_NATIVE. (1) ICAP_BRIGHTNESS: GET minimum value not -1000. (2) ICAP_BRIGHTNESS: GET value does not include 0. (3) ICAP_CONTRAST: GET minimum value not -1000. (4) ICAP_CONTRAST: GET value does not include 0. (5) ICAP_FILTER: GET after open, current value is not TWFT_NONE. (6) ICAP_HALFTONES: GET - enumeration Current index (2) is invalid. (7) ICAP_SHADOW: GET maximum value not 255. (8) ICAP_THRESHOLD: GET returned an invalid container. (9) ICAP_FILTER: RESET failed when it should succeed. (10) ICAP_LIGHTSOURCE: RESET failed when it should succeed. (11) ICAP_MAXFRAMES: RESET failed when it should succeed. (12) ICAP_TILES: RESET failed when it should succeed. (13) ICAP_LIGHTPATH: RESET failed when it should succeed. (14) ICAP_BRIGHTNESS: SET(-999.999985) reported success but value not accepted! (15) ICAP_BRIGHTNESS: SET(-509.999985) reported success but value not accepted! (16) ICAP_BRIGHTNESS: SET(-9.999985) reported success but value not accepted! (17) ICAP_CONTRAST: SET(-999.999985) reported success but value not accepted! (18) ICAP_CONTRAST: SET(-509.999985) reported success but value not accepted! (19) ICAP_CONTRAST: SET(-9.999985) reported success but value not accepted! (20) ICAP_FILTER: SET failed on all values. (21) ICAP_HALFTONES: SET failed on all values. (22) ICAP_MAXFRAMES: SET failed on all values. ------------------------------------------------------------------------ End Twister Analysis.