⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modulefactory.java

📁 这是个国外JAVA爱好者写的条形码生成器
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/***********************************************************************************************************************
 * Copyright (c) 2003, International Barcode Consortium
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without modification,
 * are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice, this list of
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list of
 * conditions and the following disclaimer in the documentation and/or other materials
 * provided with the distribution.
 * Neither the name of the International Barcode Consortium nor the names of any contributors may be used to endorse
 * or promote products derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 ***********************************************************************************************************************/

package net.sourceforge.barbecue.linear.code128;

import net.sourceforge.barbecue.Module;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Code 128 barcode module definitions.
 *
 * @author <a href="mailto:opensource@ianbourke.com">Ian Bourke</a>
 */
public final class ModuleFactory {
    private static final List A_KEYS = new ArrayList();
    private static final List B_KEYS = new ArrayList();
    private static final List C_KEYS = new ArrayList();
    private static final Map A_SET = new HashMap();
    private static final Map B_SET = new HashMap();
    private static final Map C_SET = new HashMap();
    
    static {
        initA();
        initB();
        initC();
    }
    
    ///CLOVER:OFF
    /**
     * Cannot construct.
     */
    private ModuleFactory() {
    }
    ///CLOVER:ON
    
    /**
     * Initialise the module definitions.
     */
    private static void initA() {
        A_KEYS.add(" "); A_SET.put(" ", new Module(new int[] {2, 1, 2, 2, 2, 2}));
        A_KEYS.add("!"); A_SET.put("!", new Module(new int[] {2, 2, 2, 1, 2, 2}));
        A_KEYS.add("\""); A_SET.put("\"", new Module(new int[] {2, 2, 2, 2, 2, 1}));
        A_KEYS.add("#"); A_SET.put("#", new Module(new int[] {1, 2, 1, 2, 2, 3}));
        A_KEYS.add("$"); A_SET.put("$", new Module(new int[] {1, 2, 1, 3, 2, 2}));
        A_KEYS.add("%"); A_SET.put("%", new Module(new int[] {1, 3, 1, 2, 2, 2}));
        A_KEYS.add("&"); A_SET.put("&", new Module(new int[] {1, 2, 2, 2, 1, 3}));
        A_KEYS.add("'"); A_SET.put("'", new Module(new int[] {1, 2, 2, 3, 1, 2}));
        A_KEYS.add("("); A_SET.put("(", new Module(new int[] {1, 3, 2, 2, 1, 2}));
        A_KEYS.add(")"); A_SET.put(")", new Module(new int[] {2, 2, 1, 2, 1, 3}));
        A_KEYS.add("*"); A_SET.put("*", new Module(new int[] {2, 2, 1, 3, 1, 2}));
        A_KEYS.add("+"); A_SET.put("+", new Module(new int[] {2, 3, 1, 2, 1, 2}));
        A_KEYS.add(","); A_SET.put(",", new Module(new int[] {1, 1, 2, 2, 3, 2}));
        A_KEYS.add("-"); A_SET.put("-", new Module(new int[] {1, 2, 2, 1, 3, 2}));
        A_KEYS.add("."); A_SET.put(".", new Module(new int[] {1, 2, 2, 2, 3, 1}));
        A_KEYS.add("/"); A_SET.put("/", new Module(new int[] {1, 1, 3, 2, 2, 2}));
        A_KEYS.add("0"); A_SET.put("0", new Module(new int[] {1, 2, 3, 1, 2, 2}));
        A_KEYS.add("1"); A_SET.put("1", new Module(new int[] {1, 2, 3, 2, 2, 1}));
        A_KEYS.add("2"); A_SET.put("2", new Module(new int[] {2, 2, 3, 2, 1, 1}));
        A_KEYS.add("3"); A_SET.put("3", new Module(new int[] {2, 2, 1, 1, 3, 2}));
        A_KEYS.add("4"); A_SET.put("4", new Module(new int[] {2, 2, 1, 2, 3, 1}));
        A_KEYS.add("5"); A_SET.put("5", new Module(new int[] {2, 1, 3, 2, 1, 2}));
        A_KEYS.add("6"); A_SET.put("6", new Module(new int[] {2, 2, 3, 1, 1, 2}));
        A_KEYS.add("7"); A_SET.put("7", new Module(new int[] {3, 1, 2, 1, 3, 1}));
        A_KEYS.add("8"); A_SET.put("8", new Module(new int[] {3, 1, 1, 2, 2, 2}));
        A_KEYS.add("9"); A_SET.put("9", new Module(new int[] {3, 2, 1, 1, 2, 2}));
        A_KEYS.add(":"); A_SET.put(":", new Module(new int[] {3, 2, 1, 2, 2, 1}));
        A_KEYS.add(";"); A_SET.put(";", new Module(new int[] {3, 1, 2, 2, 1, 2}));
        A_KEYS.add("<"); A_SET.put("<", new Module(new int[] {3, 2, 2, 1, 1, 2}));
        A_KEYS.add("="); A_SET.put("=", new Module(new int[] {3, 2, 2, 2, 1, 1}));
        A_KEYS.add(">"); A_SET.put(">", new Module(new int[] {2, 1, 2, 1, 2, 3}));
        A_KEYS.add("?"); A_SET.put("?", new Module(new int[] {2, 1, 2, 3, 2, 1}));
        A_KEYS.add("@"); A_SET.put("@", new Module(new int[] {2, 3, 2, 1, 2, 1}));
        A_KEYS.add("A"); A_SET.put("A", new Module(new int[] {1, 1, 1, 3, 2, 3}));
        A_KEYS.add("B"); A_SET.put("B", new Module(new int[] {1, 3, 1, 1, 2, 3}));
        A_KEYS.add("C"); A_SET.put("C", new Module(new int[] {1, 3, 1, 3, 2, 1}));
        A_KEYS.add("D"); A_SET.put("D", new Module(new int[] {1, 1, 2, 3, 1, 3}));
        A_KEYS.add("E"); A_SET.put("E", new Module(new int[] {1, 3, 2, 1, 1, 3}));
        A_KEYS.add("F"); A_SET.put("F", new Module(new int[] {1, 3, 2, 3, 1, 1}));
        A_KEYS.add("G"); A_SET.put("G", new Module(new int[] {2, 1, 1, 3, 1, 3}));
        A_KEYS.add("H"); A_SET.put("H", new Module(new int[] {2, 3, 1, 1, 1, 3}));
        A_KEYS.add("I"); A_SET.put("I", new Module(new int[] {2, 3, 1, 3, 1, 1}));
        A_KEYS.add("J"); A_SET.put("J", new Module(new int[] {1, 1, 2, 1, 3, 3}));
        A_KEYS.add("K"); A_SET.put("K", new Module(new int[] {1, 1, 2, 3, 3, 1}));
        A_KEYS.add("L"); A_SET.put("L", new Module(new int[] {1, 3, 2, 1, 3, 1}));
        A_KEYS.add("M"); A_SET.put("M", new Module(new int[] {1, 1, 3, 1, 2, 3}));
        A_KEYS.add("N"); A_SET.put("N", new Module(new int[] {1, 1, 3, 3, 2, 1}));
        A_KEYS.add("O"); A_SET.put("O", new Module(new int[] {1, 3, 3, 1, 2, 1}));
        A_KEYS.add("P"); A_SET.put("P", new Module(new int[] {3, 1, 3, 1, 2, 1}));
        A_KEYS.add("Q"); A_SET.put("Q", new Module(new int[] {2, 1, 1, 3, 3, 1}));
        A_KEYS.add("R"); A_SET.put("R", new Module(new int[] {2, 3, 1, 1, 3, 1}));
        A_KEYS.add("S"); A_SET.put("S", new Module(new int[] {2, 1, 3, 1, 1, 3}));
        A_KEYS.add("T"); A_SET.put("T", new Module(new int[] {2, 1, 3, 3, 1, 1}));
        A_KEYS.add("U"); A_SET.put("U", new Module(new int[] {2, 1, 3, 1, 3, 1}));
        A_KEYS.add("V"); A_SET.put("V", new Module(new int[] {3, 1, 1, 1, 2, 3}));
        A_KEYS.add("W"); A_SET.put("W", new Module(new int[] {3, 1, 1, 3, 2, 1}));
        A_KEYS.add("X"); A_SET.put("X", new Module(new int[] {3, 3, 1, 1, 2, 1}));
        A_KEYS.add("Y"); A_SET.put("Y", new Module(new int[] {3, 1, 2, 1, 1, 3}));
        A_KEYS.add("Z"); A_SET.put("Z", new Module(new int[] {3, 1, 2, 3, 1, 1}));
        A_KEYS.add("["); A_SET.put("[", new Module(new int[] {3, 3, 2, 1, 1, 1}));
        A_KEYS.add("\\"); A_SET.put("\\", new Module(new int[] {3, 1, 4, 1, 1, 1}));
        A_KEYS.add("]"); A_SET.put("]", new Module(new int[] {2, 2, 1, 4, 1, 1}));
        A_KEYS.add("^"); A_SET.put("^", new Module(new int[] {4, 3, 1, 1, 1, 1}));
        A_KEYS.add("_"); A_SET.put("_", new Module(new int[] {1, 1, 1, 2, 2, 4}));
        /*NUL*/	A_KEYS.add("\000"); A_SET.put("\000", new Module(new int[] {1, 1, 1, 4, 2, 2}));
        /*SOH*/	A_KEYS.add("\001"); A_SET.put("\001", new Module(new int[] {1, 2, 1, 1, 2, 4}));
        /*STX*/	A_KEYS.add("\002"); A_SET.put("\002", new Module(new int[] {1, 2, 1, 4, 2, 1}));
        /*ETX*/	A_KEYS.add("\003"); A_SET.put("\003", new Module(new int[] {1, 4, 1, 1, 2, 2}));
        /*EOT*/	A_KEYS.add("\004"); A_SET.put("\004", new Module(new int[] {1, 4, 1, 2, 2, 1}));
        /*ENQ*/	A_KEYS.add("\005"); A_SET.put("\005", new Module(new int[] {1, 1, 2, 2, 1, 4}));
        /*ACK*/	A_KEYS.add("\006"); A_SET.put("\006", new Module(new int[] {1, 1, 2, 4, 1, 2}));
        /*BEL*/	A_KEYS.add("\007"); A_SET.put("\007", new Module(new int[] {1, 2, 2, 1, 1, 4}));
        /*BS*/	A_KEYS.add("\010"); A_SET.put("\010", new Module(new int[] {1, 2, 2, 4, 1, 1}));
        /*HT*/	A_KEYS.add("\011"); A_SET.put("\011", new Module(new int[] {1, 4, 2, 1, 1, 2}));
        /*LF*/	A_KEYS.add("\012"); A_SET.put("\012", new Module(new int[] {1, 4, 2, 2, 1, 1}));
        /*VT*/	A_KEYS.add("\013"); A_SET.put("\013", new Module(new int[] {2, 4, 1, 2, 1, 1}));
        /*FF*/	A_KEYS.add("\014"); A_SET.put("\014", new Module(new int[] {2, 2, 1, 1, 1, 4}));
        /*CR*/	A_KEYS.add("\015"); A_SET.put("\015", new Module(new int[] {4, 1, 3, 1, 1, 1}));
        /*SO*/	A_KEYS.add("\016"); A_SET.put("\016", new Module(new int[] {2, 4, 1, 1, 1, 2}));
        /*SI*/	A_KEYS.add("\017"); A_SET.put("\017", new Module(new int[] {1, 3, 4, 1, 1, 1}));
        /*DLE*/	A_KEYS.add("\020"); A_SET.put("\020", new Module(new int[] {1, 1, 1, 2, 4, 2}));
        /*DC1*/	A_KEYS.add("\021"); A_SET.put("\021", new Module(new int[] {1, 2, 1, 1, 4, 2}));
        /*DC2*/	A_KEYS.add("\022"); A_SET.put("\022", new Module(new int[] {1, 2, 1, 2, 4, 1}));
        /*DC3*/	A_KEYS.add("\023"); A_SET.put("\023", new Module(new int[] {1, 1, 4, 2, 1, 2}));
        /*DC4*/	A_KEYS.add("\024"); A_SET.put("\024", new Module(new int[] {1, 2, 4, 1, 1, 2}));
        /*NAK*/	A_KEYS.add("\025"); A_SET.put("\025", new Module(new int[] {1, 2, 4, 2, 1, 1}));
        /*SYN*/	A_KEYS.add("\026"); A_SET.put("\026", new Module(new int[] {4, 1, 1, 2, 1, 2}));
        /*ETB*/	A_KEYS.add("\027"); A_SET.put("\027", new Module(new int[] {4, 2, 1, 1, 1, 2}));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -