summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Peter Christen <mc@yacy.net>2025-09-22 21:19:49 +0200
committerMichael Peter Christen <mc@yacy.net>2025-09-22 21:19:49 +0200
commit3560b584502da7d58eb43110d446637c308f8741 (patch)
tree0387f2c0eb7eb9a8b251c744a00fbbded60f426b
parent534a7174d1ce2d01243678e796416557bd1b4253 (diff)
refactoring of FontGenerator
-rw-r--r--source/net/yacy/visualization/FontGenerator5Pixel.java635
-rw-r--r--source/net/yacy/visualization/FontGenerator7Pixel.java1015
-rw-r--r--source/net/yacy/visualization/PrintTool.java29
3 files changed, 296 insertions, 1383 deletions
diff --git a/source/net/yacy/visualization/FontGenerator5Pixel.java b/source/net/yacy/visualization/FontGenerator5Pixel.java
index 5e43d8035..a7d0a1ad7 100644
--- a/source/net/yacy/visualization/FontGenerator5Pixel.java
+++ b/source/net/yacy/visualization/FontGenerator5Pixel.java
@@ -22,533 +22,124 @@ package net.yacy.visualization;
public class FontGenerator5Pixel {
-/*
-?0x20: !"#$%&'
-0x28:()*+,-./
-0x30:01234567
-0x38:89:;<=>?
-0x40:@ABCDEFG
-0x48:HIJKLMNO
-0x50:PQRSTUVW
-0x58:XYZ[\]^_
-0x60:`abcdefg
-0x68:hijklmno
-0x70:pqrstuvw
-0x78:xyz{|}~
-*/
-
- private static final String[][] font =
- {
- {".....", //0x20
- ".....",
- ".....",
- ".....",
- "....."},
- {"..X..",
- "..X..",
- "..X..",
- ".....",
- "..X.."},
- {".X.X.",
- ".X.X.",
- ".....",
- ".....",
- "....."},
- {".X.X.",
- "XXXXX",
- ".X.X.",
- "XXXXX",
- ".X.X."},
- {"+XXXX",
- "X.X..",
- "+XXX+",
- "..X.X",
- "XXXX+"},
- {".X..X",
- "X.XX.",
- ".XXX.",
- ".XX.X",
- "X..X."},
- {"+XXX.",
- "X+...",
- "+X+X.",
- "X.X+.",
- "+X+X."},
- {"..X..",
- "..X..",
- ".....",
- ".....",
- "....."},
- {"....X", //0x28
- "...X+",
- "...X.",
- "...X+",
- "....X"},
- {"X....",
- "+X...",
- ".X...",
- "+X...",
- "x...."},
- {".....",
- ".X.X.",
- "++X++",
- ".x.X.",
- "....."},
- {".....",
- "..X..",
- ".XXX.",
- "..X..",
- "....."},
- {".....",
- ".....",
- "..X..",
- ".+X..",
- ".X..."},
- {".....",
- ".....",
- ".XXX.",
- ".....",
- "....."},
- {".....",
- ".....",
- ".....",
- ".....",
- "..X.."},
- {"....X",
- "...X+",
- "..X+.",
- ".X+..",
- "X+..."},
- {".XXX.", //0x30
- "X+.XX",
- "X.X.X",
- "XX.+X",
- ".XXX."},
- {"..X..",
- ".XX..",
- "..X..",
- "..X..",
- ".XXX."},
- {".XXX.",
- "X+.+X",
- ".+XX+",
- "+X+..",
- "XXXXX"},
- {".XXX.",
- "X+.+X",
- "...X+",
- "X+.+X",
- ".XXX."},
- {".+XX.",
- "+X+X.",
- "XXXXX",
- "...X.",
- "...X."},
- {"XXXXX",
- "X....",
- "XXXX.",
- "...+X",
- "XXXX."},
- {".XXX.",
- "X+...",
- "XXXX+",
- "X+.+X",
- ".XXX."},
- {"XXXXX",
- "..+X+",
- "..X+.",
- "..X..",
- "..X.."},
- {".XXX.", //0x38
- "X+.+X",
- "+XXX.",
- "X+.+X",
- ".XXX."},
- {".XXX.",
- "X+.+X",
- "+XXXX",
- "...+X",
- ".XXX."},
- {".....",
- "..X..",
- ".....",
- "..X..",
- "....."},
- {".....",
- "..X..",
- ".....",
- ".+X..",
- ".X..."},
- {"...X+",
- "..X+.",
- ".X+..",
- "..X+.",
- "...X+"},
- {".....",
- "XXXXX",
- ".....",
- "XXXXX",
- "....."},
- {"+X...",
- ".+X..",
- "..+X.",
- ".+X..",
- "+X..."},
- {".XXX.",
- "..+X.",
- "..X..",
- ".....",
- "..X.."},
- {"+XXX+", //0x40
- "XXX.X",
- "X+XX+",
- "X+...",
- ".XXX."},
- {".+X+.",
- "+X+X+",
- "X+.+X",
- "XXXXX",
- "X...X"},
- {"XXX+.",
- "X.+X.",
- "XXXX+",
- "X..+X",
- "XXXX."},
- {".XXX.",
- "X+...",
- "X....",
- "X+...",
- ".XXX."},
- {"XXXX.",
- "X..+X",
- "X...X",
- "X..+X",
- "XXXX."},
- {"XXXXX",
- "X....",
- "XXX..",
- "X....",
- "XXXXX"},
- {"XXXXX",
- "X....",
- "XXX..",
- "X....",
- "X...."},
- {".XXX.",
- "X+...",
- "X.XXX",
- "X..+X",
- ".XXX."},
- {"X...X", //0x48
- "X...X",
- "XXXXX",
- "X...X",
- "X...X"},
- {"XXXXX",
- "..X..",
- "..X..",
- "..X..",
- "XXXXX"},
- {"XXXXX",
- "....X",
- "....X",
- "X+.+X",
- ".XXX."},
- {"X..+X",
- "X.+X.",
- "XXX..",
- "X.+X.",
- "X..+X"},
- {"X....",
- "X....",
- "X....",
- "X....",
- "XXXXX"},
- {"X...X",
- "XX.XX",
- "X+X+X",
- "X.+.X",
- "X...X"},
- {"X+..X",
- "XX+.X",
- "X+X+X",
- "X.+XX",
- "X..+X"},
- {".XXX.",
- "X+.+X",
- "X...X",
- "X+.+X",
- ".XXX."},
- {"XXXX.", //0x50
- "X..+X",
- "XXXX.",
- "X....",
- "X...."},
- {".XXX.",
- "X+.+X",
- "X.X+X",
- "X++X+",
- ".XX+X"},
- {"XXXX.",
- "X..+X",
- "XXXX.",
- "X.+X.",
- "X..+X"},
- {".XXX+",
- "X+...",
- ".XXX.",
- "...+X",
- "+XXX."},
- {"XXXXX",
- "..X..",
- "..X..",
- "..X..",
- "..X.."},
- {"X...X",
- "X...X",
- "X...X",
- "X+.+X",
- ".XXX."},
- {"X...X",
- "X...X",
- "X+.+X",
- ".X+X.",
- "..X.."},
- {"X...X",
- "X...X",
- "X.+.X",
- "X+X+X",
- ".X.X."},
- {"X+.+X", //0x58
- "+X+X+",
- ".+X+.",
- "+X+X+",
- "X+.+X"},
- {"X...X",
- "+X.X+",
- ".+X+.",
- "..X..",
- "..X.."},
- {"XXXXX",
- "..+X+",
- ".+X+.",
- "+X+..",
- "XXXXX"},
- {"..XXX",
- "..X..",
- "..X..",
- "..X..",
- "..XXX"},
- {"X+...",
- "+X+..",
- ".+X+.",
- "..+X+",
- "...+X"},
- {"XXX..",
- "..X..",
- "..X..",
- "..X..",
- "XXX.."},
- {".+X+.",
- "+X+X+",
- "X+.+X",
- ".....",
- "....."},
- {".....",
- ".....",
- ".....",
- ".....",
- "XXXXX"},
- {".X+..", //0x60
- ".+X..",
- ".....",
- ".....",
- "....."},
- {".....",
- ".....",
- "+XXXX",
- "X+..X",
- ".XXXX"},
- {"X....",
- "X....",
- "XXXX.",
- "X..+X",
- "XXXX."},
- {".....",
- ".....",
- ".XXXX",
- "X+...",
- ".XXXX"},
- {"....X",
- "....X",
- ".XXXX",
- "X+..X",
- ".XXXX"},
- {".....",
- "+XX+.",
- "X.+X.",
- "X+X+.",
- ".XXXX"},
- {"..XX.",
- "..X+.",
- ".XXX.",
- "..X..",
- "..X.."},
- {".....",
- ".+XX+",
- ".X+.X",
- ".+X+X",
- "XXXX."},
- {"X....", //0x68
- "X....",
- "X+XX+",
- "XX++X",
- "X+..X"},
- {"..X..",
- ".....",
- "..X..",
- "..X..",
- "..X.."},
- {"..X..",
- ".....",
- "..X..",
- ".+X..",
- ".X+.."},
- {"X....",
- "X....",
- "X.+XX",
- "XXX+.",
- "X.+XX"},
- {"..X..",
- "..X..",
- "..X..",
- "..X..",
- "..X.."},
- {".....",
- ".....",
- ".X+X.",
- "X+X+X",
- "X.X.X"},
- {".....",
- ".....",
- ".XXX.",
- "X+.+X",
- "X...X"},
- {".....",
- ".....",
- ".XXX.",
- "X+.+X",
- ".XXX."},
- {".....", //0x70
- "XXXX.",
- "X..+X",
- "XXXX.",
- "X...."},
- {".....",
- ".XXXX",
- "X+..X",
- ".XXXX",
- "....X"},
- {".....",
- "..+X.",
- "..X+.",
- "..X..",
- "..X.."},
- {".....",
- ".....",
- ".+XX.",
- "+X++X",
- "X++X."},
- {"..X..",
- ".XXX.",
- "..X..",
- "..X..",
- "..X.."},
- {".....",
- ".....",
- "X...X",
- "X+.+X",
- ".XXX."},
- {".....",
- ".....",
- "X+.+X",
- "+X+X+",
- ".+X+."},
- {".....",
- ".....",
- "X.X.X",
- "X+X+X",
- ".X+X."},
- {".....", //0x78
- ".....",
- ".X+X.",
- ".+X+.",
- ".X+X."},
- {".....",
- ".....",
- ".X+X.",
- ".+X+.",
- "..X.."},
- {".....",
- ".....",
- ".XXXX",
- ".+X+.",
- "XXXX."},
- {"...XX",
- "..+X+",
- ".+X+.",
- "..+X+",
- "...XX"},
- {"..X..",
- "..X..",
- "..X..",
- "..X..",
- "..X.."},
- {"XX...",
- "+X+..",
- ".+X+.",
- "+X+..",
- "XX..."},
- {".....",
- "+X+..",
- "X+X+X",
- "..+X+",
- "....."},
- {"XXXXX",
- "X...X",
- "X...X",
- "X...X",
- "XXXXX"},
- };
-
+ /**
+ * font: a character matrix of 96 characters:
+ *
+ * 0x20: !"#$%&'
+ * 0x28:()*+,-./
+ * 0x30:01234567
+ * 0x38:89:;<=>?
+ * 0x40:@ABCDEFG
+ * 0x48:HIJKLMNO
+ * 0x50:PQRSTUVW
+ * 0x58:XYZ[\]^_
+ * 0x60:`abcdefg
+ * 0x68:hijklmno
+ * 0x70:pqrstuvw
+ * 0x78:xyz{|}~
+ */
+ private static final String[] font = {
+ ".....", "..X..", ".X.X.", ".X.X.", "+XXXX", ".X..X", "+XXX.", "..X..",
+ ".....", "..X..", ".X.X.", "XXXXX", "X.X..", "X.XX.", "X+...", "..X..",
+ ".....", "..X..", ".....", ".X.X.", "+XXX+", ".XXX.", "+X+X.", ".....",
+ ".....", ".....", ".....", "XXXXX", "..X.X", ".XX.X", "X.X+.", ".....",
+ ".....", "..X..", ".....", ".X.X.", "XXXX+", "X..X.", "+X+X.", ".....",
+
+ "....X", "X....", ".....", ".....", ".....", ".....", ".....", "....X",
+ "...X+", "+X...", ".X.X.", "..X..", ".....", ".....", ".....", "...X+",
+ "...X.", ".X...", "++X++", ".XXX.", "..X..", ".XXX.", ".....", "..X+.",
+ "...X+", "+X...", ".x.X.", "..X..", ".+X..", ".....", ".....", ".X+..",
+ "....X", "x....", ".....", ".....", ".X...", ".....", "..X..", "X+...",
+
+ ".XXX.", "..X..", ".XXX.", ".XXX.", ".+XX.", "XXXXX", ".XXX.", "XXXXX",
+ "X+.XX", ".XX..", "X+.+X", "X+.+X", "+X+X.", "X....", "X+...", "..+X+",
+ "X.X.X", "..X..", ".+XX+", "...X+", "XXXXX", "XXXX.", "XXXX+", "..X+.",
+ "XX.+X", "..X..", "+X+..", "X+.+X", "...X.", "...+X", "X+.+X", "..X..",
+ ".XXX.", ".XXX.", "XXXXX", ".XXX.", "...X.", "XXXX.", ".XXX.", "..X..",
+
+ ".XXX.", ".XXX.", ".....", ".....", "...X+", ".....", "+X...", ".XXX.",
+ "X+.+X", "X+.+X", "..X..", "..X..", "..X+.", "XXXXX", ".+X..", "..+X.",
+ "+XXX.", "+XXXX", ".....", ".....", ".X+..", ".....", "..+X.", "..X..",
+ "X+.+X", "...+X", "..X..", ".+X..", "..X+.", "XXXXX", ".+X..", ".....",
+ ".XXX.", ".XXX.", ".....", ".X...", "...X+", ".....", "+X...", "..X..",
+
+ "+XXX+", ".+X+.", "XXX+.", ".XXX.", "XXXX.", "XXXXX", "XXXXX", ".XXX.",
+ "XXX.X", "+X+X+", "X.+X.", "X+...", "X..+X", "X....", "X....", "X+...",
+ "X+XX+", "X+.+X", "XXXX+", "X....", "X...X", "XXX..", "XXX..", "X.XXX",
+ "X+...", "XXXXX", "X..+X", "X+...", "X..+X", "X....", "X....", "X..+X",
+ ".XXX.", "X...X", "XXXX.", ".XXX.", "XXXX.", "XXXXX", "X....", ".XXX.",
+
+ "X...X", "XXXXX", "XXXXX", "X..+X", "X....", "X...X", "X+..X", ".XXX.",
+ "X...X", "..X..", "....X", "X.+X.", "X....", "XX.XX", "XX+.X", "X+.+X",
+ "XXXXX", "..X..", "....X", "XXX..", "X....", "X+X+X", "X+X+X", "X...X",
+ "X...X", "..X..", "X+.+X", "X.+X.", "X....", "X.+.X", "X.+XX", "X+.+X",
+ "X...X", "XXXXX", ".XXX.", "X..+X", "XXXXX", "X...X", "X..+X", ".XXX.",
+
+ "XXXX.", ".XXX.", "XXXX.", ".XXX+", "XXXXX", "X...X", "X...X", "X...X",
+ "X..+X", "X+.+X", "X..+X", "X+...", "..X..", "X...X", "X...X", "X...X",
+ "XXXX.", "X.X+X", "XXXX.", ".XXX.", "..X..", "X...X", "X+.+X", "X.+.X",
+ "X....", "X++X+", "X.+X.", "...+X", "..X..", "X+.+X", ".X+X.", "X+X+X",
+ "X....", ".XX+X", "X..+X", "+XXX.", "..X..", ".XXX.", "..X..", ".X.X.",
+
+ "X+.+X", "X...X", "XXXXX", "..XXX", "X+...", "XXX..", ".+X+.", ".....",
+ "+X+X+", "+X.X+", "..+X+", "..X..", "+X+..", "..X..", "+X+X+", ".....",
+ ".+X+.", ".+X+.", ".+X+.", "..X..", ".+X+.", "..X..", "X+.+X", ".....",
+ "+X+X+", "..X..", "+X+..", "..X..", "..+X+", "..X..", ".....", ".....",
+ "X+.+X", "..X..", "XXXXX", "..XXX", "...+X", "XXX..", ".....", "XXXXX",
+
+ ".X+..", ".....", "X....", ".....", "....X", ".....", "..XX.", ".....",
+ ".+X..", ".....", "X....", ".....", "....X", "+XX+.", "..X+.", ".+XX+",
+ ".....", "+XXXX", "XXXX.", ".XXXX", ".XXXX", "X.+X.", ".XXX.", ".X+.X",
+ ".....", "X+..X", "X..+X", "X+...", "X+..X", "X+X+.", "..X..", ".+X+X",
+ ".....", ".XXXX", "XXXX.", ".XXXX", ".XXXX", ".XXXX", "..X..", "XXXX.",
+
+ "X....", "..X..", "..X..", "X....", "..X..", ".....", ".....", ".....",
+ "X....", ".....", ".....", "X....", "..X..", ".....", ".....", ".....",
+ "X+XX+", "..X..", "..X..", "X.+XX", "..X..", ".X+X.", ".XXX.", ".XXX.",
+ "XX++X", "..X..", ".+X..", "XXX+.", "..X..", "X+X+X", "X+.+X", "X+.+X",
+ "X+..X", "..X..", ".X+..", "X.+XX", "..X..", "X.X.X", "X...X", ".XXX.",
+
+ ".....", ".....", ".....", ".....", "..X..", ".....", ".....", ".....",
+ "XXXX.", ".XXXX", "..+X.", ".....", ".XXX.", ".....", ".....", ".....",
+ "X..+X", "X+..X", "..X+.", ".+XX.", "..X..", "X...X", "X+.+X", "X.X.X",
+ "XXXX.", ".XXXX", "..X..", "+X++X", "..X..", "X+.+X", "+X+X+", "X+X+X",
+ "X....", "....X", "..X..", "X++X.", "..X..", ".XXX.", ".+X+.", ".X+X.",
+
+ ".....", ".....", ".....", "...XX", "..X..", "XX...", ".....", "XXXXX",
+ ".....", ".....", ".....", "..+X+", "..X..", "+X+..", "+X+..", "X...X",
+ ".X+X.", ".X+X.", ".XXXX", ".+X+.", "..X..", ".+X+.", "X+X+X", "X...X",
+ ".+X+.", ".+X+.", ".+X+.", "..+X+", "..X..", "+X+..", "..+X+", "X...X",
+ ".X+X.", "..X..", "XXXX.", "...XX", "..X..", "XX...", ".....", "XXXXX"
+ };
public static void main(final String[] args) {
- String[] letter;
- long b;
- long v;
- int c = 0;
- String s;
- for (int i = 0; i < font.length; i++) {
- letter = font[i];
- b = 0;
- for (int j = 0; j < 5; j++) { // 5 rows
- b = b << 10; // 10 bits per row
- v = 1 << 9; // value to set
- for (int col = 0; col < 5; col++) {
- if (letter[j].charAt(col) == '+') b += v;
- if (letter[j].charAt(col) == 'X') b += v + (v / 2);
- v = v >> 2;
+
+ final int matrix_width = 8;
+ final int matrix_height = 12;
+ final int font_width = 5;
+ final int font_height = 5;
+
+ for (int matrix_y = 0; matrix_y < matrix_height; matrix_y++) {
+ for (int matrix_x = 0; matrix_x < matrix_width; matrix_x++) {
+ int start = (matrix_y * matrix_width * font_height) + matrix_x;
+ long b = 0;
+ for (int row = 0; row < font_height; row++) {
+ b = b << (font_width * 2);
+ long v = 1 << (font_width * 2 - 1);
+ for (int col = 0; col < font_width; col++) {
+ String l = font[start + matrix_width * row];
+ if (l.charAt(col) == '+') b += v;
+ if (l.charAt(col) == 'X') b += v + (v / 2);
+ v = v >> 2;
+ }
}
+ String s = Long.toHexString(b).toUpperCase();
+ while (s.length() < 14) s = "0" + s;
+ System.out.print("0x" + s + "L,");
}
- s = Long.toHexString(b).toUpperCase();
- while (s.length() < 14) s = "0" + s;
- System.out.print("0x" + s + "L,");
- c++;
- if (c >= 8) {
- System.out.println();
- c = 0;
- }
+ System.out.println();
}
+
}
}
diff --git a/source/net/yacy/visualization/FontGenerator7Pixel.java b/source/net/yacy/visualization/FontGenerator7Pixel.java
index c9fe4ef12..ea2e2aca8 100644
--- a/source/net/yacy/visualization/FontGenerator7Pixel.java
+++ b/source/net/yacy/visualization/FontGenerator7Pixel.java
@@ -1,859 +1,182 @@
-// FontGenerator8Pixel.java
-// ---------------------------
-// by Marc Nause
-// created: 05.04.2007
-//
-// $LastChangedDate$
-// $LastChangedRevision$
-// $LastChangedBy$
-//
-// based on:
-// FontGenerator5Pixle.java
-// ---------------------------
-// (C) by Michael Peter Christen; mc@yacy.net
-// first published on http://www.anomic.de
-// Frankfurt, Germany, 2005
-// created: 31.10.2005
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+/**
+ * FontGenerator7Pixel
+ * Original Font Created By Marc Nause, 05.04.2007
+ * (name was FontGenerator8Pixel)
+ * based on FontGenerator5Pixel.java
+ * Copyright 2005 by Michael Christen
+ * First released 31.10.2005 at https://yacy.net
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program in the file lgpl21.txt
+ * If not, see <http://www.gnu.org/licenses/>.
+ */
package net.yacy.visualization;
public class FontGenerator7Pixel {
-//A valid font has 96 characters:
-
-/*
-0x20: !"#$%&'
-0x28:()*+,-./
-0x30:01234567
-0x38:89:;<=>?
-0x40:@ABCDEFG
-0x48:HIJKLMNO
-0x50:PQRSTUVW
-0x58:XYZ[\]^_
-0x60:`abcdefg
-0x68:hijklmno
-0x70:pqrstuvw
-0x78:xyz{|}~
-*/
-
-//Each character has the same height of m lines with n pixels each.
-//While m does not need to equal n both have to stay consistend through
-//the whole font.
-
- public static final String[][] font =
- {
- {".......", //0x20
- ".......",
- ".......",
- ".......",
- ".......",
- ".......",
- ".......",
- "......."},
- {"...X...",
- "...X...",
- "...X...",
- "...X...",
- "...X...",
- ".......",
- "...X...",
- "......."},
- {"..X.X..",
- "..X.X..",
- ".......",
- ".......",
- ".......",
- ".......",
- ".......",
- "......."},
- {"..X.X..",
- "..X.X..",
- "XXXXXXX",
- "..X.X..",
- "XXXXXXX",
- "..X.X..",
- "..X.X..",
- "......."},
- {"...XX..",
- ".XXXXXX",
- "X..XX..",
- ".XXXXX.",
- "...XX.X",
- "XXXXXX.",
- "...X...",
- "......."},
- {".XX...X",
- ".XX..X.",
- "....X..",
- "...X...",
- "..X....",
- ".X...XX",
- "X....XX",
- "......."},
- {".XX....",
- "X..X...",
- ".XX....",
- "..X...X",
- "X..X.X.",
- "X...X..",
- ".XXX..X",
- "......."},
- {"...X...",
- "...X...",
- ".......",
- ".......",
- ".......",
- ".......",
- ".......",
- "......."},
- {"....X..",
- "...X...",
- "..X....",
- "..X....",
- "..X....",
- "...X...",
- "....X..",
- "......."},
- {"...X...",
- "....X..",
- ".....X.",
- ".....X.",
- ".....X.",
- "....X..",
- "...X...",
- "......."},
- {"...X...",
- ".X.X.X.",
- "..XXX..",
- "XXXXXXX",
- "..XXX..",
- ".X..X.X",
- "...X...",
- "......."},
- {".......",
- "...X...",
- "...X...",
- ".XXXXX.",
- "...X...",
- "...X...",
- ".......",
- "......."},
- {".......",
- ".......",
- ".......",
- ".......",
- ".......",
- "...XX..",
- "...XX..",
- "....X.."},
- {".......",
- ".......",
- ".......",
- ".XXXXX.",
- ".......",
- ".......",
- ".......",
- "......."},
- {".......",
- ".......",
- ".......",
- ".......",
- ".......",
- "...XX..",
- "...XX..",
- "......."},
- {"......X",
- ".....X.",
- "....X..",
- "...X...",
- "..X....",
- ".X.....",
- "X......",
- "......."},
- {".XXXXX.",
- "X....XX",
- "X...X.X",
- "X..X..X",
- "X.X...X",
- "XX....X",
- ".XXXXX.",
- "......."},
- {"...X...",
- "..XX...",
- ".X.X...",
- "...X...",
- "...X...",
- "...X...",
- ".XXXXX.",
- "......."},
- {"..XXX..",
- ".X...X.",
- ".....X.",
- "....X..",
- "...X...",
- "..X....",
- ".XXXXX.",
- "......."},
- {"..XXX..",
- ".X...X.",
- ".....X.",
- "...XX..",
- ".....X.",
- ".X...X.",
- "..XXX..",
- "......."},
- {".....X.",
- "....XX.",
- "...X.X.",
- "..X..X.",
- ".XXXXXX",
- ".....X.",
- ".....X.",
- "......."},
- {".XXXXXX",
- ".X.....",
- ".X.....",
- ".XXXXX.",
- "......X",
- "......X",
- ".XXXXX.",
- "......."},
- {"..XXX..",
- ".X...X.",
- ".X.....",
- ".XXXX..",
- ".X...X.",
- ".X...X.",
- "..XXX..",
- "......."},
- {".XXXXX.",
- ".....X.",
- ".....X.",
- "....X..",
- "...X...",
- "...X...",
- "...X...",
- "......."},
- {"..XXX..",
- ".X...X.",
- ".X...X.",
- "..XXX..",
- ".X...X.",
- ".X...X.",
- "..XXX..",
- "......."},
- {"..XXX..",
- ".X...X.",
- ".X...X.",
- "..XXXX.",
- ".....X.",
- ".X...X.",
- "..XXX..",
- "......."},
- {".......",
- ".......",
- "...XX..",
- "...XX..",
- ".......",
- "...XX..",
- "...XX..",
- "......."},
- {".......",
- ".......",
- "...XX..",
- "...XX..",
- ".......",
- "...XX..",
- "...XX..",
- "....X.."},
- {".....XX",
- "...XX..",
- ".XX....",
- "X......",
- ".XX....",
- "...XX..",
- ".....XX",
- "......."},
- {".......",
- ".......",
- "..XXXX.",
- ".......",
- "..XXXX.",
- ".......",
- ".......",
- "......."},
- {"XX.....",
- "..XX...",
- "....XX.",
- "......X",
- "....XX.",
- "..XX...",
- "XX.....",
- "........"},
- {"..XXX..",
- ".X...X.",
- ".....X.",
- "....X..",
- "...X...",
- ".......",
- "...X...",
- "......."},
- {".XXXXX.",
- "X.....X",
- "X...XXX",
- "X..X..X",
- "X...XXX",
- "X......",
- ".XXXXXX",
- "......."},
- {".XXXXX.",
- "X.....X",
- "X.....X",
- "XXXXXXX",
- "X.....X",
- "X.....X",
- "X.....X",
- "......."},
- {"XXXXXX.",
- "X.....X",
- "X.....X",
- "XXXXXX.",
- "X.....X",
- "X.....X",
- "XXXXXX.",
- "......."},
- {"..XXXX.",
- ".X....X",
- "X......",
- "X......",
- "X......",
- ".X....X",
- "..XXXX.",
- "......."},
- {"XXXXX..",
- "X....X.",
- "X.....X",
- "X.....X",
- "X.....X",
- "X....X.",
- "XXXXX..",
- "......."},
- {"XXXXXXX",
- "X......",
- "X......",
- "XXXXXX.",
- "X......",
- "X......",
- "XXXXXXX",
- "......."},
- {"XXXXXXX",
- "X......",
- "X......",
- "XXXXXX.",
- "X......",
- "X......",
- "X......",
- "......."},
- {".XXXXX.",
- "X......",
- "X......",
- "X..XXXX",
- "X.....X",
- "X.....X",
- ".XXXXX.",
- "......."},
- {"X.....X",
- "X.....X",
- "X.....X",
- "XXXXXXX",
- "X.....X",
- "X.....X",
- "X.....X",
- "......."},
- {"..XXX..",
- "...X...",
- "...X...",
- "...X...",
- "...X...",
- "...X...",
- "..XXX..",
- "......."},
- {"...XXX.",
- "....X..",
- "....X..",
- "....X..",
- "....X..",
- "X...X..",
- ".XXX...",
- "......."},
- {"X....XX",
- "X...XX.",
- "X..XX..",
- "XXX....",
- "X..XX..",
- "X...XX.",
- "X....XX",
- "......."},
- {"X......",
- "X......",
- "X......",
- "X......",
- "X......",
- "X......",
- "XXXXXXX",
- "......."},
- {"X.....X",
- "XX...XX",
- "X.X.X.X",
- "X..X..X",
- "X.....X",
- "X.....X",
- "X.....X",
- "......."},
- {"X.....X",
- "XX....X",
- "X.X...X",
- "X..X..X",
- "X...X.X",
- "X....XX",
- "X.....X",
- "......."},
- {".XXXXX.",
- "X.....X",
- "X.....X",
- "X.....X",
- "X.....X",
- "X.....X",
- ".XXXXX.",
- "......."},
- {"XXXXXX.",
- "X.....X",
- "X.....X",
- "XXXXXX.",
- "X......",
- "X......",
- "X......",
- "......."},
- {".XXXXX.",
- "X.....X",
- "X.....X",
- "X.....X",
- "X.....X",
- "X...X.X",
- ".XXXXX.",
- "......X"},
- {"XXXXXX.",
- "X.....X",
- "X.....X",
- "XXXXXX.",
- "X...X..",
- "X....X.",
- "X.....X",
- "......."},
- {".XXXXX.",
- "X.....X",
- "X......",
- ".XXXXX.",
- "......X",
- "X.....X",
- ".XXXXX.",
- "......."},
- {"XXXXXXX",
- "...X...",
- "...X...",
- "...X...",
- "...X...",
- "...X...",
- "...X...",
- "......."},
- {"X.....X",
- "X.....X",
- "X.....X",
- "X.....X",
- "X.....X",
- "X.....X",
- ".XXXXX.",
- "......."},
- {"X.....X",
- "X.....X",
- "X.....X",
- "X.....X",
- ".X...X.",
- "..X.X..",
- "...X...",
- "......."},
- {"X.....X",
- "X.....X",
- "X.....X",
- "X.....X",
- "X..X..X",
- "X.X.X.X",
- ".X...X.",
- "......."},
- {"X.....X",
- ".X...X.",
- "..X.X..",
- "...X...",
- "..X.X..",
- ".X...X.",
- "X.....X",
- "......."},
- {"X.....X",
- ".X...X.",
- "..X.X..",
- "...X...",
- "...X...",
- "...X...",
- "...X...",
- "......."},
- {"XXXXXXX",
- ".....X.",
- "....X..",
- "...X...",
- "..X....",
- ".X.....",
- "XXXXXXX",
- "......."},
- {"..XXXX.",
- "..X....",
- "..X....",
- "..X....",
- "..X....",
- "..X....",
- "..XXXX.",
- "......."},
- {"X......",
- ".X.....",
- "..X....",
- "...X...",
- "....X..",
- ".....X.",
- "......X",
- "......."},
- {"..XXXX.",
- ".....X.",
- ".....X.",
- ".....X.",
- ".....X.",
- ".....X.",
- "..XXXX.",
- "......."},
- {"...X...",
- "..X.X..",
- ".X...X.",
- ".......",
- ".......",
- ".......",
- ".......",
- "......."},
- {".......",
- ".......",
- ".......",
- ".......",
- ".......",
- ".......",
- "XXXXXXX",
- "......."},
- {"...X...",
- "....X..",
- ".......",
- ".......",
- ".......",
- ".......",
- ".......",
- "......."},
- {".......",
- ".......",
- ".XXXX..",
- ".....X.",
- ".XXXXX.",
- "X....X.",
- ".XXXX.X",
- "......."},
- {"X......",
- "X......",
- "X......",
- "XXXXXX.",
- "X.....X",
- "X.....X",
- "XXXXXX.",
- "......."},
- {".......",
- ".......",
- ".XXXXXX",
- "X......",
- "X......",
- "X......",
- ".XXXXXX",
- "......."},
- {"......X",
- "......X",
- "......X",
- ".XXXXXX",
- "X.....X",
- "X.....X",
- ".XXXXXX",
- "......."},
- {".......",
- ".......",
- ".XXXXX.",
- "X.....X",
- "XXXXXXX",
- "X......",
- ".XXXXX.",
- "......."},
- {"...XX..",
- "..X....",
- "..X....",
- ".XXX...",
- "..X....",
- "..X....",
- "..X....",
- "......."},
- {".......",
- ".......",
- ".XXXXX.",
- "X.....X",
- "X.....X",
- ".XXXXXX",
- "......X",
- ".XXXXX."},
- {"X......",
- "X......",
- "X......",
- "XXXXXX.",
- "X.....X",
- "X.....X",
- "X.....X",
- "......."},
- {".......",
- "...X...",
- ".......",
- "..XX...",
- "...X...",
- "...X...",
- "..XXX..",
- "......."},
- {".......",
- "....X..",
- ".......",
- "...XX..",
- "....X..",
- "....X..",
- "....X..",
- "..XX..."},
- {"X......",
- "X......",
- "X....XX",
- "X..XX..",
- "XXX....",
- "X..XX..",
- "X....XX",
- "......."},
- {"..XX...",
- "...X...",
- "...X...",
- "...X...",
- "...X...",
- "...X...",
- "..XXX..",
- "......."},
- {".......",
- ".......",
- ".XX.XX.",
- "X..X..X",
- "X..X..X",
- "X..X..X",
- "X..X..X",
- "......."},
- {".......",
- ".......",
- ".XXXXX.",
- "X.....X",
- "X.....X",
- "X.....X",
- "X.....X",
- "......."},
- {".......",
- ".......",
- ".XXXXX.",
- "X.....X",
- "X.....X",
- "X.....X",
- ".XXXXX.",
- "......."},
- {".......",
- ".......",
- "XXXXXX.",
- "X.....X",
- "X.....X",
- "XXXXXX.",
- "X......",
- "X......"},
- {".......",
- ".......",
- ".XXXXXX",
- "X.....X",
- "X.....X",
- ".XXXXXX",
- "......X",
- "......X"},
- {".......",
- ".......",
- "X.XXXX.",
- "XX....X",
- "X......",
- "X......",
- "X......",
- "......."},
- {".......",
- ".......",
- ".XXXXX.",
- "X......",
- ".XXXXX.",
- "......X",
- ".XXXXX.",
- "......."},
- {"...X...",
- "...X...",
- "...X...",
- ".XXXXX.",
- "...X...",
- "...X...",
- "....XX.",
- "......."},
- {".......",
- ".......",
- "X.....X",
- "X.....X",
- "X.....X",
- "X.....X",
- ".XXXXX.",
- "......."},
- {".......",
- ".......",
- "X.....X",
- "X.....X",
- ".X...X.",
- "..X.X..",
- "...X...",
- "......."},
- {".......",
- ".......",
- "X.....X",
- "X.....X",
- "X..X..X",
- "X.X.X.X",
- ".X...X.",
- "......."},
- {".......",
- ".......",
- "X.....X",
- ".XX.XX.",
- "...X...",
- ".XX.XX.",
- "X.....X",
- "......."},
- {".......",
- ".......",
- "X.....X",
- "X.....X",
- "X.....X",
- ".XXXXXX",
- "......X",
- ".XXXXX."},
- {".......",
- ".......",
- "XXXXXXX",
- "....XX.",
- "...X...",
- ".XX....",
- "XXXXXXX",
- "......."},
- {"...XX..",
- "..X....",
- "..X....",
- "XX.....",
- "..X....",
- "..X....",
- "...XX..",
- "......."},
- {"...X...",
- "...X...",
- "...X...",
- "...X...",
- "...X...",
- "...X...",
- "...X...",
- "...X..."},
- {"..XX...",
- "....X..",
- "....X..",
- ".....XX",
- "....X..",
- "....X..",
- "..XX...",
- "......."},
- {".......",
- ".......",
- "..X....",
- ".X.XX.X",
- ".....X.",
- ".......",
- ".......",
- "......."},
- {"XXXXXXX",
- "X.....X",
- "X.....X",
- "X.....X",
- "X.....X",
- "X.....X",
- "XXXXXXX",
- ".......",
- }
- };
-
+ /**
+ * font: a character matrix of 96 characters:
+ *
+ * 0x20: !"#$%&'
+ * 0x28:()*+,-./
+ * 0x30:01234567
+ * 0x38:89:;<=>?
+ * 0x40:@ABCDEFG
+ * 0x48:HIJKLMNO
+ * 0x50:PQRSTUVW
+ * 0x58:XYZ[\]^_
+ * 0x60:`abcdefg
+ * 0x68:hijklmno
+ * 0x70:pqrstuvw
+ * 0x78:xyz{|}~
+ */
+ public static final String[] font = {
+ ".......", "...X...", "..X.X..", "..X.X..", "...XX..", ".XX...X", ".XX....", "...X...",
+ ".......", "...X...", "..X.X..", "..X.X..", ".XXXXXX", ".XX..X.", "X..X...", "...X...",
+ ".......", "...X...", ".......", "XXXXXXX", "X..XX..", "....X..", ".XX....", ".......",
+ ".......", "...X...", ".......", "..X.X..", ".XXXXX.", "...X...", "..X...X", ".......",
+ ".......", "...X...", ".......", "XXXXXXX", "...XX.X", "..X....", "X..X.X.", ".......",
+ ".......", ".......", ".......", "..X.X..", "XXXXXX.", ".X...XX", "X...X..", ".......",
+ ".......", "...X...", ".......", "..X.X..", "...X...", "X....XX", ".XXX..X", ".......",
+ ".......", ".......", ".......", ".......", ".......", ".......", ".......", ".......",
+
+ "....X..", "...X...", "...X...", ".......", ".......", ".......", ".......", "......X",
+ "...X...", "....X..", ".X.X.X.", "...X...", ".......", ".......", ".......", ".....X.",
+ "..X....", ".....X.", "..XXX..", "...X...", ".......", ".......", ".......", "....X..",
+ "..X....", ".....X.", "XXXXXXX", ".XXXXX.", ".......", ".XXXXX.", ".......", "...X...",
+ "..X....", ".....X.", "..XXX..", "...X...", ".......", ".......", ".......", "..X....",
+ "...X...", "....X..", ".X.X.X.", "...X...", "...XX..", ".......", "...XX..", ".X.....",
+ "....X..", "...X...", "...X...", ".......", "...XX..", ".......", "...XX..", "X......",
+ ".......", ".......", ".......", ".......", "....X..", ".......", ".......", ".......",
+
+ ".XXXXX.", "...X...", "..XXX..", "..XXX..", ".....X.", ".XXXXXX", "..XXX..", ".XXXXX.",
+ "X....XX", "..XX...", ".X...X.", ".X...X.", "....XX.", ".X.....", ".X...X.", ".....X.",
+ "X...X.X", ".X.X...", ".....X.", ".....X.", "...X.X.", ".X.....", ".X.....", ".....X.",
+ "X..X..X", "...X...", "....X..", "...XX..", "..X..X.", ".XXXXX.", ".XXXX..", "....X..",
+ "X.X...X", "...X...", "...X...", ".....X.", ".XXXXXX", "......X", ".X...X.", "...X...",
+ "XX....X", "...X...", "..X....", ".X...X.", ".....X.", "......X", ".X...X.", "...X...",
+ ".XXXXX.", ".XXXXX.", ".XXXXX.", "..XXX..", ".....X.", ".XXXXX.", "..XXX..", "...X...",
+ ".......", ".......", ".......", ".......", ".......", ".......", ".......", ".......",
+
+ "..XXX..", "..XXX..", ".......", ".......", ".....XX", ".......", "XX.....", "..XXX..",
+ ".X...X.", ".X...X.", ".......", ".......", "...XX..", ".......", "..XX...", ".X...X.",
+ ".X...X.", ".X...X.", "...XX..", "...XX..", ".XX....", "..XXXX.", "....XX.", ".....X.",
+ "..XXX..", "..XXXX.", "...XX..", "...XX..", "X......", ".......", "......X", "....X..",
+ ".X...X.", ".....X.", ".......", ".......", ".XX....", "..XXXX.", "....XX.", "...X...",
+ ".X...X.", ".X...X.", "...XX..", "...XX..", "...XX..", ".......", "..XX...", ".......",
+ "..XXX..", "..XXX..", "...XX..", "...XX..", ".....XX", ".......", "XX.....", "...X...",
+ ".......", ".......", ".......", "....X..", ".......", ".......", ".......", ".......",
+
+ ".XXXXX.", ".XXXXX.", "XXXXXX.", "..XXXX.", "XXXXX..", "XXXXXXX", "XXXXXXX", ".XXXXX.",
+ "X.....X", "X.....X", "X.....X", ".X....X", "X....X.", "X......", "X......", "X......",
+ "X...XXX", "X.....X", "X.....X", "X......", "X.....X", "X......", "X......", "X......",
+ "X..X..X", "XXXXXXX", "XXXXXX.", "X......", "X.....X", "XXXXXX.", "XXXXXX.", "X..XXXX",
+ "X...XXX", "X.....X", "X.....X", "X......", "X.....X", "X......", "X......", "X.....X",
+ "X......", "X.....X", "X.....X", ".X....X", "X....X.", "X......", "X......", "X.....X",
+ ".XXXXXX", "X.....X", "XXXXXX.", "..XXXX.", "XXXXX..", "XXXXXXX", "X......", ".XXXXX.",
+ ".......", ".......", ".......", ".......", ".......", ".......", ".......", ".......",
+
+ "X.....X", "..XXX..", "...XXX.", "X....XX", "X......", "X.....X", "X.....X", ".XXXXX.",
+ "X.....X", "...X...", "....X..", "X...XX.", "X......", "XX...XX", "XX....X", "X.....X",
+ "X.....X", "...X...", "....X..", "X..XX..", "X......", "X.X.X.X", "X.X...X", "X.....X",
+ "XXXXXXX", "...X...", "....X..", "XXX....", "X......", "X..X..X", "X..X..X", "X.....X",
+ "X.....X", "...X...", "....X..", "X..XX..", "X......", "X.....X", "X...X.X", "X.....X",
+ "X.....X", "...X...", "X...X..", "X...XX.", "X......", "X.....X", "X....XX", "X.....X",
+ "X.....X", "..XXX..", ".XXX...", "X....XX", "XXXXXXX", "X.....X", "X.....X", ".XXXXX.",
+ ".......", ".......", ".......", ".......", ".......", ".......", ".......", ".......",
+
+ "XXXXXX.", ".XXXXX.", "XXXXXX.", ".XXXXX.", "XXXXXXX", "X.....X", "X.....X", "X.....X",
+ "X.....X", "X.....X", "X.....X", "X.....X", "...X...", "X.....X", "X.....X", "X.....X",
+ "X.....X", "X.....X", "X.....X", "X......", "...X...", "X.....X", "X.....X", "X.....X",
+ "XXXXXX.", "X.....X", "XXXXXX.", ".XXXXX.", "...X...", "X.....X", "X.....X", "X.....X",
+ "X......", "X.....X", "X...X..", "......X", "...X...", "X.....X", ".X...X.", "X..X..X",
+ "X......", "X...X.X", "X....X.", "X.....X", "...X...", "X.....X", "..X.X..", "X.X.X.X",
+ "X......", ".XXXXX.", "X.....X", ".XXXXX.", "...X...", ".XXXXX.", "...X...", ".X...X.",
+ ".......", "......X", ".......", ".......", ".......", ".......", ".......", ".......",
+
+ "X.....X", "X.....X", "XXXXXXX", "..XXXX.", "X......", "..XXXX.", "...X...", ".......",
+ ".X...X.", ".X...X.", ".....X.", "..X....", ".X.....", ".....X.", "..X.X..", ".......",
+ "..X.X..", "..X.X..", "....X..", "..X....", "..X....", ".....X.", ".X...X.", ".......",
+ "...X...", "...X...", "...X...", "..X....", "...X...", ".....X.", ".......", ".......",
+ "..X.X..", "...X...", "..X....", "..X....", "....X..", ".....X.", ".......", ".......",
+ ".X...X.", "...X...", ".X.....", "..X....", ".....X.", ".....X.", ".......", ".......",
+ "X.....X", "...X...", "XXXXXXX", "..XXXX.", "......X", "..XXXX.", ".......", "XXXXXXX",
+ ".......", ".......", ".......", ".......", ".......", ".......", ".......", ".......",
+
+ "...X...", ".......", "X......", ".......", "......X", ".......", "...XX..", ".......",
+ "....X..", ".......", "X......", ".......", "......X", ".......", "..X....", ".......",
+ ".......", ".XXXX..", "X......", ".XXXXXX", "......X", ".XXXXX.", "..X....", ".XXXXX.",
+ ".......", ".....X.", "XXXXXX.", "X......", ".XXXXXX", "X.....X", ".XXX...", "X.....X",
+ ".......", ".XXXXX.", "X.....X", "X......", "X.....X", "XXXXXXX", "..X....", "X.....X",
+ ".......", "X....X.", "X.....X", "X......", "X.....X", "X......", "..X....", ".XXXXXX",
+ ".......", ".XXXX.X", "XXXXXX.", ".XXXXXX", ".XXXXXX", ".XXXXX.", "..X....", "......X",
+ ".......", ".......", ".......", ".......", ".......", ".......", ".......", ".XXXXX.",
+
+ "X......", ".......", ".......", "X......", "..XX...", ".......", ".......", ".......",
+ "X......", "...X...", "....X..", "X......", "...X...", ".......", ".......", ".......",
+ "X......", ".......", ".......", "X....XX", "...X...", ".XX.XX.", ".XXXXX.", ".XXXXX.",
+ "XXXXXX.", "..XX...", "...XX..", "X..XX..", "...X...", "X..X..X", "X.....X", "X.....X",
+ "X.....X", "...X...", "....X..", "XXX....", "...X...", "X..X..X", "X.....X", "X.....X",
+ "X.....X", "...X...", "....X..", "X..XX..", "...X...", "X..X..X", "X.....X", "X.....X",
+ "X.....X", "..XXX..", "....X..", "X....XX", "..XXX..", "X..X..X", "X.....X", ".XXXXX.",
+ ".......", ".......", "..XX...", ".......", ".......", ".......", ".......", ".......",
+
+ ".......", ".......", ".......", ".......", "...X...", ".......", ".......", ".......",
+ ".......", ".......", ".......", ".......", "...X...", ".......", ".......", ".......",
+ "XXXXXX.", ".XXXXXX", "X.XXXX.", ".XXXXX.", "...X...", "X.....X", "X.....X", "X.....X",
+ "X.....X", "X.....X", "XX....X", "X......", ".XXXXX.", "X.....X", "X.....X", "X.....X",
+ "X.....X", "X.....X", "X......", ".XXXXX.", "...X...", "X.....X", ".X...X.", "X..X..X",
+ "XXXXXX.", ".XXXXXX", "X......", "......X", "...X...", "X.....X", "..X.X..", "X.X.X.X",
+ "X......", "......X", "X......", ".XXXXX.", "....XX.", ".XXXXX.", "...X...", ".X...X.",
+ "X......", "......X", ".......", ".......", ".......", ".......", ".......", ".......",
+
+ ".......", ".......", ".......", "...XX..", "...X...", "..XX...", ".......", "XXXXXXX",
+ ".......", ".......", ".......", "..X....", "...X...", "....X..", ".......", "X.....X",
+ "X.....X", "X.....X", "XXXXXXX", "..X....", "...X...", "....X..", "..X....", "X.....X",
+ ".XX.XX.", "X.....X", "....XX.", "XX.....", "...X...", ".....XX", ".X.XX.X", "X.....X",
+ "...X...", "X.....X", "...X...", "..X....", "...X...", "....X..", ".....X.", "X.....X",
+ ".XX.XX.", ".XXXXXX", ".XX....", "..X....", "...X...", "....X..", ".......", "X.....X",
+ "X.....X", "......X", "XXXXXXX", "...XX..", "...X...", "..XX...", ".......", "XXXXXXX",
+ ".......", ".XXXXX.", ".......", ".......", "...X...", ".......", ".......", "......."
+ };
public static void main(final String[] args) {
- String[] letter;
- long b;
- long v;
- int c = 0;
- String s;
- for (int i = 0; i < font.length; i++) {
- letter = font[i];
- b = 0;
- for (int j = 0; j < 8; j++) { // 8 rows
- b = b << 7; // 7 bits per row
- v = 1 << 6; // value to set
- for (int col = 0; col < 7; col++) {
- if (letter[j].charAt(col) == 'X') b += v;
- v = v >> 1;
+
+ final int matrix_width = 8;
+ final int matrix_height = 12;
+ final int font_width = 7;
+ final int font_height = 8;
+
+ for (int matrix_y = 0; matrix_y < matrix_height; matrix_y++) {
+ for (int matrix_x = 0; matrix_x < matrix_width; matrix_x++) {
+ int start = (matrix_y * matrix_width * font_height) + matrix_x;
+ long b = 0;
+ for (int row = 0; row < font_height; row++) {
+ b = b << font_width;
+ long v = 1 << (font_width - 1);
+ for (int col = 0; col < font_width; col++) {
+ if (font[start + matrix_width * row].charAt(col) == 'X') b += v;
+ v = v >> 1;
+ }
}
+ String s = Long.toHexString(b).toUpperCase();
+ while (s.length() < 16) s = "0" + s;
+ System.out.print("0x" + s + "L,");
}
- s = Long.toHexString(b).toUpperCase();
- while (s.length() < 16) s = "0" + s;
- System.out.print("0x" + s + "L,");
- c++;
- if (c >= 8) {
- System.out.println();
- c = 0;
- }
+ System.out.println();
}
+
}
}
diff --git a/source/net/yacy/visualization/PrintTool.java b/source/net/yacy/visualization/PrintTool.java
index df25642c3..866b2e0cf 100644
--- a/source/net/yacy/visualization/PrintTool.java
+++ b/source/net/yacy/visualization/PrintTool.java
@@ -26,25 +26,24 @@ import java.io.IOException;
public class PrintTool {
-
private static long[] font5 = new long[]{
- 0x00000000000000L,0x00300C03000030L,0x00CC3300000000L,0x00CCFFCCCFFCCCL,0x02FFCC2FE0CFFEL,0x00C3CF0FC3CF0CL,0x02FCE02ECCE2ECL,0x00300C00000000L,
- 0x00030380C03803L,0x0300B00C0B0000L,0x0000332BA03000L,0x00000C0FC0C000L,0x0000000302C0C0L,0x0000000FC00000L,0x00000000000030L,0x00030383838380L,
- 0x00FCE3F33F2CFCL,0x00303C0300C0FCL,0x00FCE2CBEB83FFL,0x00FCE2C0EE2CFCL,0x00BCBB3FF0300CL,0x03FFC03FC02FFCL,0x00FCE03FEE2CFCL,0x03FF0B8380C030L,
- 0x00FCE2EFCE2CFCL,0x00FCE2EFF02CFCL,0x00000C0000C000L,0x00000C0002C0C0L,0x000E0E0E00E00EL,0x0000FFC00FFC00L,0x02C02C02C2C2C0L,0x00FC0B03000030L,
- 0x02FEFCFBEE00FCL,0x00B8BBB8BFFF03L,0x03F8CB3FEC2FFCL,0x00FCE0300E00FCL,0x03FCC2F03C2FFCL,0x03FFC03F0C03FFL,0x03FFC03F0C0300L,0x00FCE033FC2CFCL,
- 0x0303C0FFFC0F03L,0x03FF0C0300C3FFL,0x03FF00C03E2CFCL,0x030BCB3F0CB30BL,0x0300C0300C03FFL,0x0303F3FBBC8F03L,0x0383F8FBBCBF0BL,0x00FCE2F03E2CFCL,
- 0x03FCC2FFCC0300L,0x00FCE2F3BEB8FBL,0x03FCC2FFCCB30BL,0x00FEE00FC02EFCL,0x03FF0C0300C030L,0x0303C0F03E2CFCL,0x0303C0F8B3B030L,0x0303C0F23EECCCL,
- 0x038BBB8B8BBB8BL,0x0303B38B80C030L,0x03FF0B8B8B83FFL,0x003F0C0300C03FL,0x0380B80B80B80BL,0x03F00C0300C3F0L,0x00B8BBB8B00000L,0x000000000003FFL,
- 0x00E02C00000000L,0x0000002FFE0CFFL,0x0300C03FCC2FFCL,0x0000000FFE00FFL,0x000300CFFE0CFFL,0x0000BE32CEE0FFL,0x003C0E0FC0C030L,0x00002F8E32EFFCL,
- 0x0300C03BEFAF83L,0x0030000300C030L,0x0030000302C0E0L,0x0300C032FFE32FL,0x00300C0300C030L,0x0000000ECEEF33L,0x0000000FCE2F03L,0x0000000FCE2CFCL,
- 0x0000FF30BFF300L,0x00003FF833FC03L,0x00000B0380C030L,0x0000000BCBAFACL,0x00303F0300C030L,0x000000303E2CFCL,0x00000038BBB8B8L,0x000000333EECECL,
- 0x0000000EC2E0ECL,0x0000000EC2E030L,0x0000000FF2E3FCL,0x000F0B8B80B80FL,0x00300C0300C030L,0x03C0B80B8B83C0L,0x0000B83BB0B800L,0x03FFC0F03C0FFFL
- };
+ 0x00000000000000L,0x00300C03000030L,0x00CC3300000000L,0x00CCFFCCCFFCCCL,0x02FFCC2FE0CFFEL,0x00C3CF0FC3CF0CL,0x02FCE02ECCE2ECL,0x00300C00000000L,
+ 0x00030380C03803L,0x0300B00C0B0000L,0x0000332BA03000L,0x00000C0FC0C000L,0x0000000302C0C0L,0x0000000FC00000L,0x00000000000030L,0x00030383838380L,
+ 0x00FCE3F33F2CFCL,0x00303C0300C0FCL,0x00FCE2CBEB83FFL,0x00FCE2C0EE2CFCL,0x00BCBB3FF0300CL,0x03FFC03FC02FFCL,0x00FCE03FEE2CFCL,0x03FF0B8380C030L,
+ 0x00FCE2EFCE2CFCL,0x00FCE2EFF02CFCL,0x00000C0000C000L,0x00000C0002C0C0L,0x000E0E0E00E00EL,0x0000FFC00FFC00L,0x02C02C02C2C2C0L,0x00FC0B03000030L,
+ 0x02FEFCFBEE00FCL,0x00B8BBB8BFFF03L,0x03F8CB3FEC2FFCL,0x00FCE0300E00FCL,0x03FCC2F03C2FFCL,0x03FFC03F0C03FFL,0x03FFC03F0C0300L,0x00FCE033FC2CFCL,
+ 0x0303C0FFFC0F03L,0x03FF0C0300C3FFL,0x03FF00C03E2CFCL,0x030BCB3F0CB30BL,0x0300C0300C03FFL,0x0303F3FBBC8F03L,0x0383F8FBBCBF0BL,0x00FCE2F03E2CFCL,
+ 0x03FCC2FFCC0300L,0x00FCE2F3BEB8FBL,0x03FCC2FFCCB30BL,0x00FEE00FC02EFCL,0x03FF0C0300C030L,0x0303C0F03E2CFCL,0x0303C0F8B3B030L,0x0303C0F23EECCCL,
+ 0x038BBB8B8BBB8BL,0x0303B38B80C030L,0x03FF0B8B8B83FFL,0x003F0C0300C03FL,0x0380B80B80B80BL,0x03F00C0300C3F0L,0x00B8BBB8B00000L,0x000000000003FFL,
+ 0x00E02C00000000L,0x0000002FFE0CFFL,0x0300C03FCC2FFCL,0x0000000FFE00FFL,0x000300CFFE0CFFL,0x0000BE32CEE0FFL,0x003C0E0FC0C030L,0x00002F8E32EFFCL,
+ 0x0300C03BEFAF83L,0x0030000300C030L,0x0030000302C0E0L,0x0300C032FFE32FL,0x00300C0300C030L,0x0000000ECEEF33L,0x0000000FCE2F03L,0x0000000FCE2CFCL,
+ 0x0000FF30BFF300L,0x00003FF833FC03L,0x00000B0380C030L,0x0000000BCBAFACL,0x00303F0300C030L,0x000000303E2CFCL,0x00000038BBB8B8L,0x000000333EECECL,
+ 0x0000000EC2E0ECL,0x0000000EC2E030L,0x0000000FF2E3FCL,0x000F0B8B80B80FL,0x00300C0300C030L,0x03C0B80B8B83C0L,0x0000B83BB0B800L,0x03FFC0F03C0FFFL
+};
private static long[] font7 = new long[] {
0x0000000000000000L,0x0010204081000400L,0x0028500000000000L,0x002853F94FE50A00L,0x0018FE63E1BF8400L,0x0062C8208208E180L,0x0061218119511C80L,0x0010200000000000L,
- 0x0008208102020200L,0x0010101020410400L,0x0010A8E7F3894400L,0x00002043E1020000L,0x0000000000030604L,0x00000003E0000000L,0x0000000000030600L,0x0002082082082000L,
+ 0x0008208102020200L,0x0010101020410400L,0x0010A8E7F38A8400L,0x00002043E1020000L,0x0000000000030604L,0x00000003E0000000L,0x0000000000030600L,0x0002082082082000L,
0x007D0E2C9A385F00L,0x0010614081021F00L,0x0038881041041F00L,0x00388810C0488E00L,0x0004185127E08100L,0x007E8103E0205F00L,0x00388903C4488E00L,0x007C081041020400L,
0x00388911C4488E00L,0x00388911E0488E00L,0x00000060C0030600L,0x00000060C0030604L,0x0006318406030180L,0x000000F003C00000L,0x00C0603010C63000L,0x0038881041000400L,
0x007D063C98F01F80L,0x007D060FF8306080L,0x00FD060FE8307F00L,0x003C860408084F00L,0x00F90A0C1830BE00L,0x00FF0207E8103F80L,0x00FF0207E8102000L,0x007D0204F8305F00L,