code: public static byte[] getBarsInter25(String text) {
          text = keepNumbers(text);
          if ((text.length() & 1) != 0)
              throw new IllegalArgumentException("The text length must be even.");
          byte bars[] = new byte[text.length() * 5 + 7];
          int pb = 0;
          bars[pb++] = 0;
          bars[pb++] = 0;
          bars[pb++] = 0;
          bars[pb++] = 0;
          int len = text.length() / 2;
          for (int k = 0; k < len; ++k) {
              int c1 = text.charAt(k * 2) - '0';
              int c2 = text.charAt(k * 2 + 1) - '0';
              byte b1[] = BARS[c1];
              byte b2[] = BARS[c2];
              for (int j = 0; j < 5; ++j) {
                  bars[pb++] = b1[j];
                  bars[pb++] = b2[j];
              }
          }
          bars[pb++] = 1;
          bars[pb++] = 0;
          bars[pb++] = 0;
          return bars;
      }
docs: Creates the bars for the barcode.
  @param text the text. It can contain non numeric characters
  @return the barcode