X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=javase%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fj2se%2FCommandLineRunner.java;fp=javase%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fclient%2Fj2se%2FCommandLineRunner.java;h=92c8194d5ccd166cb900d9e0ed2f5a464c93f591;hb=db2d9dfbc5ca85836237e287cd8da84da2fb0ff4;hp=f9ccf7c49b5a75001b10f66c38736bc95072f3a1;hpb=53e3a45d8fa5475dfdc3f0cf00ded1895e3cc1d7;p=zxing.git diff --git a/javase/src/com/google/zxing/client/j2se/CommandLineRunner.java b/javase/src/com/google/zxing/client/j2se/CommandLineRunner.java index f9ccf7c4..92c8194d 100644 --- a/javase/src/com/google/zxing/client/j2se/CommandLineRunner.java +++ b/javase/src/com/google/zxing/client/j2se/CommandLineRunner.java @@ -64,12 +64,16 @@ public final class CommandLineRunner { printUsage(); return; } - Hashtable hints = buildHints(); + + boolean tryHarder = false; + boolean productsOnly = false; boolean dumpResults = false; boolean dumpBlackPoint = false; for (String arg : args) { if ("--try_harder".equals(arg)) { - hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); + tryHarder = true; + } else if ("--products_only".equals(arg)) { + productsOnly = true; } else if ("--dump_results".equals(arg)) { dumpResults = true; } else if ("--dump_black_point".equals(arg)) { @@ -80,6 +84,8 @@ public final class CommandLineRunner { return; } } + + Hashtable hints = buildHints(tryHarder, productsOnly); for (String arg : args) { if (!arg.startsWith("--")) { decodeOneArgument(arg, hints, dumpResults, dumpBlackPoint); @@ -88,20 +94,26 @@ public final class CommandLineRunner { } // Manually turn on all formats, even those not yet considered production quality. - private static Hashtable buildHints() { + private static Hashtable buildHints(boolean tryHarder, + boolean productsOnly) { Hashtable hints = new Hashtable(3); Vector vector = new Vector(8); vector.addElement(BarcodeFormat.UPC_A); vector.addElement(BarcodeFormat.UPC_E); vector.addElement(BarcodeFormat.EAN_13); vector.addElement(BarcodeFormat.EAN_8); - vector.addElement(BarcodeFormat.CODE_39); - vector.addElement(BarcodeFormat.CODE_128); - vector.addElement(BarcodeFormat.ITF); - vector.addElement(BarcodeFormat.QR_CODE); - vector.addElement(BarcodeFormat.DATAMATRIX); - vector.addElement(BarcodeFormat.PDF417); + if (!productsOnly) { + vector.addElement(BarcodeFormat.CODE_39); + vector.addElement(BarcodeFormat.CODE_128); + vector.addElement(BarcodeFormat.ITF); + vector.addElement(BarcodeFormat.QR_CODE); + vector.addElement(BarcodeFormat.DATAMATRIX); + vector.addElement(BarcodeFormat.PDF417); + } hints.put(DecodeHintType.POSSIBLE_FORMATS, vector); + if (tryHarder) { + hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE); + } return hints; } @@ -109,6 +121,7 @@ public final class CommandLineRunner { System.err.println("Decode barcode images using the ZXing library\n"); System.err.println("usage: CommandLineRunner { file | dir | url } [ options ]"); System.err.println(" --try_harder: Use the TRY_HARDER hint, default is normal (mobile) mode"); + System.err.println(" --products_only: Only decode the UPC and EAN families of barcodes"); System.err.println(" --dump_results: Write the decoded contents to input.txt"); System.err.println(" --dump_black_point: Compare black point algorithms as input.mono.png"); }