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

📄 compress.c

📁 CNC.rar
💻 C
📖 第 1 页 / 共 5 页
字号:
//*****************************************************************************
//
// compress.c - Program to compress the 24x32 raster font so that it does not
//              use as much flash space.
//
// Copyright (c) 2006-2007 Luminary Micro, Inc.  All rights reserved.
//
// Software License Agreement
//
// Luminary Micro, Inc. (LMI) is supplying this software for use solely and
// exclusively on LMI's microcontroller products.
//
// The software is owned by LMI and/or its suppliers, and is protected under
// applicable copyright laws.  All rights are reserved.  Any use in violation
// of the foregoing restrictions may subject the user to criminal sanctions
// under applicable laws, as well as to civil liability for the breach of the
// terms and conditions of this license.
//
// THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
// OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
// LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
// CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
//
// This is part of revision 220 of sw01246.
//
//*****************************************************************************

#include <stdio.h>

//*****************************************************************************
//
//! An array to hold the start column of each character glyph.
//
//*****************************************************************************
unsigned char g_pucStart[256];

//*****************************************************************************
//
//! An array to hold the column width of each character glyph.
//
//*****************************************************************************
unsigned char g_pucSize[256];

//*****************************************************************************
//
//! An array that holds the bit representation of the character glyph being
//! compressed.  Each byte represents a single pixel of the glyph; zero means
//! the pixel is turned off and non-zero means it is turned on.
//
//*****************************************************************************
unsigned char g_pucBits[24 * 32];

//*****************************************************************************
//
//! An array that is used to perform the test decompression of the compressed
//! glyph.
//
//*****************************************************************************
unsigned char g_pucBytes[3 * 32];

//*****************************************************************************
//
//! An array that holds the compressed data for the current character glyph.
//
//*****************************************************************************
unsigned char g_pucChar[256];

//*****************************************************************************
//
//! The uncompressed data for the 24x32 font.  Each glyph has three bytes for
//! each scan line, with the MSB of the first byte being the left-most pixel
//! on that scan line and the LSB of the third byte being the right-most pixel
//! on that scan line.  The scan lines are organized from top to bottom.  Each
//! glpyh consumes 96 bytes.
//
//*****************************************************************************
const unsigned char g_pucFont24x32[] =
{
    //
    // ' '
    //
    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, 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, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,

    //
    // '!'
    //
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x10, 0x00,
    0x00, 0x10, 0x00,
    0x00, 0x10, 0x00,
    0x00, 0x10, 0x00,
    0x00, 0x10, 0x00,
    0x00, 0x10, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 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,

    //
    // '"'
    //
    0x01, 0xc7, 0x00,
    0x01, 0xc7, 0x00,
    0x01, 0xc7, 0x00,
    0x01, 0xc7, 0x00,
    0x01, 0xc7, 0x00,
    0x01, 0xc7, 0x00,
    0x01, 0xc7, 0x00,
    0x00, 0x82, 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,
    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, 0x70, 0xe0,
    0x00, 0x70, 0xe0,
    0x00, 0xf1, 0xc0,
    0x00, 0xe1, 0xc0,
    0x00, 0xe1, 0xc0,
    0x00, 0xe1, 0xc0,
    0x1f, 0xff, 0xf0,
    0x1f, 0xff, 0xf0,
    0x1f, 0xff, 0xf0,
    0x01, 0xc3, 0x80,
    0x01, 0xc3, 0x80,
    0x03, 0xc7, 0x80,
    0x03, 0x87, 0x00,
    0x03, 0x87, 0x00,
    0x1f, 0xff, 0xf0,
    0x1f, 0xff, 0xf0,
    0x1f, 0xff, 0xf0,
    0x07, 0x0e, 0x00,
    0x07, 0x0e, 0x00,
    0x07, 0x0e, 0x00,
    0x07, 0x1e, 0x00,
    0x0e, 0x1c, 0x00,
    0x0e, 0x1c, 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, 0x7e, 0x00,
    0x01, 0xff, 0x80,
    0x03, 0xff, 0xc0,
    0x07, 0x99, 0xc0,
    0x07, 0x18, 0xe0,
    0x07, 0x18, 0xe0,
    0x07, 0x18, 0x00,
    0x07, 0x18, 0x00,
    0x03, 0xd8, 0x00,
    0x03, 0xf8, 0x00,
    0x01, 0xff, 0x00,
    0x00, 0x3f, 0xc0,
    0x00, 0x1f, 0xe0,
    0x00, 0x19, 0xe0,
    0x00, 0x18, 0xf0,
    0x00, 0x18, 0x70,
    0x0e, 0x18, 0x70,
    0x0e, 0x18, 0x70,
    0x0f, 0x18, 0xf0,
    0x07, 0x99, 0xe0,
    0x03, 0xff, 0xc0,
    0x01, 0xff, 0x80,
    0x00, 0x7f, 0x00,
    0x00, 0x18, 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,

    //
    // '%'
    //
    0x1e, 0x00, 0xe0,
    0x7f, 0x81, 0xc0,
    0x73, 0x81, 0xc0,
    0xe1, 0xc3, 0x80,
    0xe1, 0xc3, 0x80,
    0xe1, 0xc7, 0x00,
    0xe1, 0xc7, 0x00,
    0xe1, 0xce, 0x00,
    0xe1, 0xce, 0x00,
    0x73, 0x9c, 0x00,
    0x7f, 0x1c, 0x00,
    0x1e, 0x38, 0xf0,
    0x00, 0x3b, 0xfc,
    0x00, 0x73, 0x9c,
    0x00, 0xf7, 0x0e,
    0x00, 0xe7, 0x0e,
    0x01, 0xe7, 0x0e,
    0x01, 0xc7, 0x0e,
    0x03, 0x87, 0x0e,
    0x03, 0x87, 0x0e,
    0x07, 0x03, 0x9c,
    0x07, 0x03, 0xfc,
    0x0e, 0x00, 0xf0,
    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, 0x7c, 0x00,
    0x00, 0xff, 0x00,
    0x01, 0xff, 0x00,
    0x03, 0xc7, 0x80,
    0x03, 0x83, 0x80,
    0x03, 0x83, 0x80,
    0x03, 0x83, 0x80,
    0x01, 0xc7, 0x00,
    0x00, 0xfe, 0x00,
    0x00, 0xfc, 0x00,
    0x01, 0xf8, 0x00,
    0x03, 0xf8, 0x00,
    0x07, 0x9c, 0x00,
    0x0e, 0x0e, 0x38,
    0x1c, 0x07, 0x70,
    0x1c, 0x07, 0x70,
    0x1c, 0x03, 0xe0,
    0x1c, 0x01, 0xc0,
    0x1e, 0x01, 0xe0,
    0x0f, 0x07, 0xf0,
    0x07, 0xff, 0xb8,
    0x03, 0xff, 0x38,
    0x00, 0xfc, 0x10,
    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, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x10, 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,
    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, 0x03, 0x00,
    0x00, 0x06, 0x00,
    0x00, 0x0c, 0x00,
    0x00, 0x1c, 0x00,
    0x00, 0x18, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x30, 0x00,
    0x00, 0x70, 0x00,
    0x00, 0x70, 0x00,
    0x00, 0x70, 0x00,
    0x00, 0xe0, 0x00,
    0x00, 0xe0, 0x00,
    0x00, 0xe0, 0x00,
    0x00, 0xe0, 0x00,
    0x00, 0xe0, 0x00,
    0x00, 0xe0, 0x00,
    0x00, 0xe0, 0x00,
    0x00, 0xe0, 0x00,
    0x00, 0xe0, 0x00,
    0x00, 0x70, 0x00,
    0x00, 0x70, 0x00,
    0x00, 0x70, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x18, 0x00,
    0x00, 0x1c, 0x00,
    0x00, 0x0c, 0x00,
    0x00, 0x06, 0x00,
    0x00, 0x03, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,

    //
    // ')'
    //
    0x00, 0xc0, 0x00,
    0x00, 0x60, 0x00,
    0x00, 0x30, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x18, 0x00,
    0x00, 0x1c, 0x00,
    0x00, 0x0c, 0x00,
    0x00, 0x0e, 0x00,
    0x00, 0x0e, 0x00,
    0x00, 0x0e, 0x00,
    0x00, 0x07, 0x00,
    0x00, 0x07, 0x00,
    0x00, 0x07, 0x00,
    0x00, 0x07, 0x00,
    0x00, 0x07, 0x00,
    0x00, 0x07, 0x00,
    0x00, 0x07, 0x00,
    0x00, 0x07, 0x00,
    0x00, 0x07, 0x00,
    0x00, 0x0e, 0x00,
    0x00, 0x0e, 0x00,
    0x00, 0x0e, 0x00,
    0x00, 0x1c, 0x00,
    0x00, 0x1c, 0x00,
    0x00, 0x18, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x30, 0x00,
    0x00, 0x60, 0x00,
    0x00, 0xc0, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,

    //
    // '*'
    //
    0x00, 0x18, 0x00,
    0x00, 0x18, 0x00,
    0x00, 0x18, 0x00,
    0x01, 0xdb, 0x80,
    0x01, 0xff, 0x80,
    0x00, 0x7e, 0x00,
    0x00, 0x3c, 0x00,
    0x00, 0x7e, 0x00,
    0x00, 0xe7, 0x00,
    0x00, 0x42, 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,
    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, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x0f, 0xff, 0xe0,
    0x0f, 0xff, 0xe0,
    0x0f, 0xff, 0xe0,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 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,
    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, 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, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x38, 0x00,
    0x00, 0x18, 0x00,
    0x00, 0x18, 0x00,
    0x00, 0x18, 0x00,
    0x00, 0x10, 0x00,
    0x00, 0x30, 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,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x01, 0xff, 0x00,
    0x01, 0xff, 0x00,
    0x01, 0xff, 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,
    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, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,
    0x00, 0x00, 0x00,

⌨️ 快捷键说明

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