diff options
| author | Michael Peter Christen <mc@yacy.net> | 2025-09-22 21:19:49 +0200 |
|---|---|---|
| committer | Michael Peter Christen <mc@yacy.net> | 2025-09-22 21:19:49 +0200 |
| commit | 3560b584502da7d58eb43110d446637c308f8741 (patch) | |
| tree | 0387f2c0eb7eb9a8b251c744a00fbbded60f426b | |
| parent | 534a7174d1ce2d01243678e796416557bd1b4253 (diff) | |
refactoring of FontGenerator
| -rw-r--r-- | source/net/yacy/visualization/FontGenerator5Pixel.java | 635 | ||||
| -rw-r--r-- | source/net/yacy/visualization/FontGenerator7Pixel.java | 1015 | ||||
| -rw-r--r-- | source/net/yacy/visualization/PrintTool.java | 29 |
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, |
