// kln89_symbols.hxx - pixel-encoded symbols for the KLN89 GPS unit simulation. // // Written by David Luff, started 2005. // // Copyright (C) 2005 - David C Luff - david.luff@nottingham.ac.uk // // 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., 675 Mass Ave, Cambridge, MA 02139, USA. // // $Id$ const char NumbersBold[][8] = {{0x1E, 0x3F, 0x33, 0x33, 0x33, 0x33, 0x3F, 0x1E}, // 0 {0x0C, 0x1C, 0x1C, 0x0C, 0x0C, 0x0C, 0x1E, 0x1E}, // 1 {0x1E, 0x3F, 0x33, 0x03, 0x06, 0x1C, 0x3F, 0x3F}, // 2 {0x3E, 0x3F, 0x03, 0x1F, 0x1E, 0x03, 0x3F, 0x3E}, // 3 {0x06, 0x0E, 0x16, 0x26, 0x3F, 0x3F, 0x06, 0x06}, // 4 {0x3F, 0x3F, 0x30, 0x3E, 0x3F, 0x03, 0x3F, 0x3E}, // 5 {0x0E, 0x1E, 0x30, 0x3E, 0x3F, 0x33, 0x3F, 0x1E}, // 6 {0x3F, 0x3F, 0x03, 0x06, 0x0C, 0x18, 0x18, 0x18}, // 7 {0x1E, 0x3F, 0x33, 0x3F, 0x1E, 0x33, 0x3F, 0x1E}, // 8 {0x1E, 0x3F, 0x33, 0x3F, 0x1F, 0x03, 0x1E, 0x1C}}; // 9 const char UpperAlpha[][8] = {{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // ! {0x00, 0x1B, 0x09, 0x12, 0x00, 0x00, 0x00, 0x00}, // " {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // # {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // $ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // % {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // & {0x00, 0x06, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00}, // ' {0x00, 0x02, 0x04, 0x08, 0x08, 0x08, 0x04, 0x02}, // ( {0x00, 0x08, 0x04, 0x02, 0x02, 0x02, 0x04, 0x08}, // ) {0x00, 0x00, 0x0A, 0x04, 0x1F, 0x04, 0x0A, 0x00}, // * {0x00, 0x00, 0x04, 0x04, 0x1F, 0x04, 0x04, 0x00}, // + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // , {0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00}, // - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C}, // . {0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x00}, // / {0x00, 0x0E, 0x11, 0x13, 0x15, 0x19, 0x11, 0x0E}, // 0 {0x00, 0x04, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x0E}, // 1 {0x00, 0x0E, 0x11, 0x01, 0x02, 0x04, 0x08, 0x1F}, // 2 {0x00, 0x0E, 0x11, 0x01, 0x0E, 0x01, 0x11, 0x0E}, // 3 {0x00, 0x02, 0x06, 0x0A, 0x12, 0x1F, 0x02, 0x02}, // 4 {0x00, 0x1F, 0x10, 0x1E, 0x01, 0x01, 0x11, 0x0E}, // 5 {0x00, 0x06, 0x08, 0x10, 0x1E, 0x11, 0x11, 0x0E}, // 6 {0x00, 0x1F, 0x01, 0x02, 0x04, 0x08, 0x08, 0x08}, // 7 {0x00, 0x0E, 0x11, 0x11, 0x0E, 0x11, 0x11, 0x0E}, // 8 {0x00, 0x0E, 0x11, 0x11, 0x0F, 0x01, 0x02, 0x0C}, // 9 {0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x0C, 0x0C}, // : {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // ; {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // < {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // = {0x00, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10}, // > {0x00, 0x0E, 0x11, 0x01, 0x02, 0x04, 0x00, 0x04}, // ? {0x00, 0x0E, 0x11, 0x17, 0x15, 0x17, 0x10, 0x0F}, // @ {0x00, 0x0E, 0x11, 0x11, 0x1F, 0x11, 0x11, 0x11}, // A {0x00, 0x1E, 0x11, 0x11, 0x1E, 0x11, 0x11, 0x1E}, // B {0x00, 0x0E, 0x11, 0x10, 0x10, 0x10, 0x11, 0x0E}, // C {0x00, 0x1C, 0x12, 0x11, 0x11, 0x11, 0x12, 0x1C}, // D {0x00, 0x1F, 0x10, 0x10, 0x1E, 0x10, 0x10, 0x1F}, // E {0x00, 0x1F, 0x10, 0x10, 0x1E, 0x10, 0x10, 0x10}, // F {0x00, 0x0E, 0x11, 0x10, 0x10, 0x17, 0x11, 0x0E}, // G {0x00, 0x11, 0x11, 0x11, 0x1F, 0x11, 0x11, 0x11}, // H {0x00, 0x0E, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0E}, // I {0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x12, 0x0C}, // J {0x00, 0x11, 0x12, 0x14, 0x18, 0x14, 0x12, 0x11}, // K {0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1F}, // L {0x00, 0x11, 0x1B, 0x15, 0x15, 0x11, 0x11, 0x11}, // M {0x00, 0x11, 0x11, 0x19, 0x15, 0x13, 0x11, 0x11}, // N {0x00, 0x0E, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0E}, // O {0x00, 0x1E, 0x11, 0x11, 0x1E, 0x10, 0x10, 0x10}, // P {0x00, 0x0E, 0x11, 0x11, 0x11, 0x15, 0x12, 0x0D}, // Q {0x00, 0x1E, 0x11, 0x11, 0x1E, 0x14, 0x12, 0x11}, // R {0x00, 0x0F, 0x10, 0x10, 0x0E, 0x01, 0x01, 0x1E}, // S {0x00, 0x1F, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04}, // T {0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0E}, // U {0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0A, 0x04}, // V {0x00, 0x11, 0x11, 0x11, 0x15, 0x15, 0x15, 0x0A}, // W {0x00, 0x11, 0x11, 0x0A, 0x04, 0x0A, 0x11, 0x11}, // X {0x00, 0x11, 0x11, 0x11, 0x0A, 0x04, 0x04, 0x04}, // Y {0x00, 0x1F, 0x01, 0x02, 0x04, 0x08, 0x10, 0x1F}, // Z {0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1E}, // [ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, /* \ */ // Have to be carefull with forward slash - it's multiline comment! {0x00, 0x1E, 0x02, 0x02, 0x02, 0x02, 0x02, 0x1E}, // ] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // ^ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F}, // _ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // ` {0x00, 0x00, 0x00, 0x0E, 0x01, 0x0F, 0x11, 0x0F}, // a {0x00, 0x10, 0x10, 0x10, 0x16, 0x19, 0x11, 0x1E}, // b {0x00, 0x00, 0x00, 0x0E, 0x10, 0x10, 0x10, 0x0E}, // c {0x00, 0x01, 0x01, 0x01, 0x0D, 0x13, 0x11, 0x0F}, // d {0x00, 0x00, 0x00, 0x0E, 0x11, 0x1F, 0x10, 0x0E}, // e {0x00, 0x06, 0x09, 0x08, 0x1C, 0x08, 0x08, 0x08}, // f {0x00, 0x00, 0x0E, 0x11, 0x11, 0x0F, 0x01, 0x0E}, // g {0x00, 0x10, 0x10, 0x16, 0x19, 0x11, 0x11, 0x11}, // h {0x00, 0x04, 0x00, 0x0C, 0x04, 0x04, 0x04, 0x0E}, // i {0x00, 0x02, 0x00, 0x06, 0x02, 0x02, 0x12, 0x0C}, // j (Never found j - this is a guess!) {0x00, 0x10, 0x10, 0x11, 0x12, 0x1C, 0x12, 0x11}, // k {0x00, 0x0C, 0x04, 0x04, 0x04, 0x04, 0x04, 0x0E}, // l {0x00, 0x00, 0x00, 0x1A, 0x15, 0x11, 0x11, 0x11}, // m {0x00, 0x00, 0x00, 0x16, 0x19, 0x11, 0x11, 0x11}, // n {0x00, 0x00, 0x00, 0x0E, 0x11, 0x11, 0x11, 0x0E}, // o {0x00, 0x00, 0x00, 0x1E, 0x11, 0x1E, 0x10, 0x10}, // p {0x00, 0x00, 0x00, 0x0F, 0x11, 0x0F, 0x01, 0x01}, // q {0x00, 0x00, 0x00, 0x16, 0x19, 0x10, 0x10, 0x10}, // r {0x00, 0x00, 0x00, 0x0E, 0x10, 0x0E, 0x01, 0x0E}, // s {0x00, 0x08, 0x08, 0x1C, 0x08, 0x08, 0x09, 0x06}, // t {0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x13, 0x0D}, // u {0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x0A, 0x04}, // v {0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x15, 0x0A}, // w {0x00, 0x00, 0x00, 0x11, 0x0A, 0x04, 0x0A, 0x11}, // x {0x00, 0x00, 0x00, 0x11, 0x11, 0x0F, 0x01, 0x0E}, // y {0x00, 0x00, 0x00, 0x1F, 0x02, 0x04, 0x08, 0x1F}}; // z const char SpecialChar[][8] = {{0x00, 0x04, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00}, // 0: degrees sign {0x00, 0x00, 0x00, 0x04, 0x0E, 0x04, 0x00, 0x00}, // 1: Smaller plus sign {0x00, 0x00, 0x00, 0x08, 0x1C, 0x08, 0x00, 0x00}, // 2: Left-shifted smaller plus sign {0x00, 0x00, 0x04, 0x06, 0x3F, 0x06, 0x04, 0x00}, // 3: Active arrow {0x00, 0x00, 0x04, 0x06, 0x1F, 0x06, 0x04, 0x00}, // 4: Slightly shorter active arrow {0x00, 0x04, 0x04, 0x1F, 0x04, 0x04, 0x00, 0x1F}, // 5: +- sign. {0x00, 0x1E, 0x11, 0x11, 0x3F, 0x11, 0x11, 0x1E}, // 6: the barred 'D' of the DTO symbol {0x00, 0x00, 0x04, 0x0C, 0x1F, 0x0C, 0x04, 0x00}}; // 7: Left pointing arrow. // For small char, the first char is the number of chars horizontally that are used for drawing, // since these chars are not fixed width. (Used for the labels in the moving map display). // The hex values are referenced from the right-most pixel position, and the chars are 5 pixels high (last 5 chars). const char SmallChar[][8] = {{0x03, 0x00, 0x00, 0x07, 0x05, 0x05, 0x05, 0x07}, // 0 {0x03, 0x00, 0x00, 0x02, 0x06, 0x02, 0x02, 0x07}, // 1 {0x03, 0x00, 0x00, 0x06, 0x01, 0x02, 0x04, 0x07}, // 2 {0x03, 0x00, 0x00, 0x07, 0x01, 0x03, 0x01, 0x07}, // 3 {0x03, 0x00, 0x00, 0x01, 0x03, 0x05, 0x07, 0x01}, // 4 {0x03, 0x00, 0x00, 0x07, 0x04, 0x07, 0x01, 0x07}, // 5 {0x03, 0x00, 0x00, 0x07, 0x04, 0x07, 0x05, 0x07}, // 6 {0x03, 0x00, 0x00, 0x07, 0x01, 0x02, 0x02, 0x02}, // 7 {0x03, 0x00, 0x00, 0x07, 0x05, 0x07, 0x05, 0x07}, // 8 {0x03, 0x00, 0x00, 0x07, 0x05, 0x07, 0x01, 0x07}, // 9 {0x03, 0x00, 0x00, 0x02, 0x05, 0x05, 0x07, 0x05}, // A {0x03, 0x00, 0x00, 0x06, 0x05, 0x06, 0x05, 0x06}, // B {0x03, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x03}, // C {0x04, 0x00, 0x00, 0x0E, 0x09, 0x09, 0x09, 0x0E}, // D {0x03, 0x00, 0x00, 0x07, 0x04, 0x06, 0x04, 0x07}, // E {0x03, 0x00, 0x00, 0x07, 0x04, 0x06, 0x04, 0x04}, // F {0x04, 0x00, 0x00, 0x06, 0x08, 0x0B, 0x09, 0x06}, // G {0x03, 0x00, 0x00, 0x05, 0x05, 0x07, 0x05, 0x05}, // H {0x03, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x07}, // I {0x04, 0x00, 0x00, 0x01, 0x01, 0x01, 0x09, 0x06}, // J {0x04, 0x00, 0x00, 0x09, 0x0A, 0x0C, 0x0A, 0x09}, // K {0x03, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x07}, // L {0x05, 0x00, 0x00, 0x11, 0x1B, 0x15, 0x11, 0x11}, // M {0x04, 0x00, 0x00, 0x09, 0x0D, 0x0F, 0x0B, 0x09}, // N {0x04, 0x00, 0x00, 0x06, 0x09, 0x09, 0x09, 0x06}, // O {0x03, 0x00, 0x00, 0x07, 0x05, 0x07, 0x04, 0x04}, // P {0x04, 0x00, 0x00, 0x06, 0x09, 0x09, 0x0B, 0x07}, // Q {0x04, 0x00, 0x00, 0x0E, 0x09, 0x0E, 0x0A, 0x09}, // R {0x04, 0x00, 0x00, 0x07, 0x08, 0x06, 0x01, 0x0E}, // S {0x03, 0x00, 0x00, 0x07, 0x02, 0x02, 0x02, 0x02}, // T {0x03, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x07}, // U {0x03, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x02}, // V {0x05, 0x00, 0x00, 0x11, 0x11, 0x11, 0x15, 0x0A}, // W {0x03, 0x00, 0x00, 0x05, 0x05, 0x02, 0x05, 0x05}, // X {0x03, 0x00, 0x00, 0x05, 0x05, 0x07, 0x02, 0x02}, // Y {0x03, 0x00, 0x00, 0x07, 0x01, 0x02, 0x04, 0x07}}; // Z