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

📄 fontinterface.h

📁 Sunplus 8202S source code.
💻 H
字号:
/**************************************************************************
 *                                                                        *
 *         Copyright (c) 2002 by Sunplus Technology Co., Ltd.             *
 *                                                                        *
 *  This software is copyrighted by and is the property of Sunplus        *
 *  Technology Co., Ltd. All rights are reserved by Sunplus Technology    *
 *  Co., Ltd. This software may only be used in accordance with the       *
 *  corresponding license agreement. Any unauthorized use, duplication,   *
 *  distribution, or disclosure of this software is expressly forbidden.  *
 *                                                                        *
 *  This Copyright notice MUST not be removed or modified without prior   *
 *  written consent of Sunplus Technology Co., Ltd.                       *
 *                                                                        *
 *  Sunplus Technology Co., Ltd. reserves the right to modify this        *
 *  software without notice.                                              *
 *                                                                        *
 *  Sunplus Technology Co., Ltd.                                          *
 *  19, Innovation First Road, Science-Based Industrial Park,             *
 *  Hsin-Chu, Taiwan, R.O.C.                                              *
 **************************************************************************/
/*--------------------------------------------------------------------------
|  File Name   :  FontInterface.h
|
|  Description :  Font Interface Header File
|
|  Version    :  0.1  
| 
| 
|  Rev	Date	        Author(s)      Status & Comments
|---------------------------------------------------------------------------------
|  0.1	2004/11/22      yltseng         Creating
|--------------------------------------------------------------------------------*/ 

#ifndef _FONT_INTERFACE_H_
#define _FONT_INTERFACE_H_

#include "types.h"

// **************************************************************************************** //
typedef enum
{
    FONT_NONE       = 0,

    FONT_BIG5,
    FONT_BIG5_COMMON,
    FONT_GB2312,
    FONT_JIS,
    FONT_KSC,
    FONT_RUSSIAN,
    FONT_ISO_8859_1,
    FONT_ISO_8859_2,
    FONT_ISO_8859_5,
    FONT_ISO_8859_9,

} ENUM_FONT_TYPE;

typedef enum
{
    FONT_NOT_IN_RANGE   = 0,
    FONT_ONE_BYTE,
    FONT_TWO_BYTE,
} ENUM_FONT_SIZE;

typedef struct
{
    const UINT8*    aRange[2];              // For single byte character, put range in aRange[1], and set aRange[0] to NULL
    const UINT8*    pTranslateTbl;
    UINT8           aRangeNum[2];
    ENUM_FONT_TYPE  enType;
    UINT8           uiTranslateTblNum;
    UINT8           uiWidth;
    UINT8           uiHeight;
}   FontInfo;

// **************************************************************************************** //
/**************************************************************************
 *  Function Name: ftSetCurrentFont                                       *
 *  Purposes:                                                             *
 *    Set current font's information and data buffer address.             *
 *  Descriptions:                                                         *
 *    Font info structure is defined in FontInterface.h. And it can be    *
 *    seperated from font's raw data. That is I can use same font info on *
 *    two different raw data. For example, I can use english's font info  *
 *    on 12x12 english raw data or on 24x24 english raw data.             *
 *  Arguments:                                                            *
 *    pFont    : Pointer to font's information, it describes this font's  *
 *    code range, font size ... etc.                                      *
 *    pFontData: Pointer to font's data buffer, and this buffer should    *
 *    contain bmp raw data of this font.                                  *
 *  Returns:                                                              *
 *    TRUE if success, FALSE otherwise.                                   *
 *  See also:                                                             *
 *    ftIsInCharacterSet, ftGetCharacterBmp, ftGetFontType                *
 **************************************************************************/
extern UINT32           ftSetCurrentFont( const FontInfo* pFont, const UINT8* pFontData );


/**************************************************************************
 *  Function Name: ftIsInCharacterSet                                     *
 *  Purposes:                                                             *
 *    Find out if this character is in current character set or not.      *
 *  Descriptions:                                                         *
 *    None                                                                *
 *  Arguments:                                                            *
 *    pCode: Pointer to character. Depending on different language, it may*
 *    point to 2 byte char(eg:Chinese) or 1 byte character(eg:English)    *
 *  Returns:                                                              *
 *    FONT_NOT_IN_RANGE: Not in current character set                     *
 *    FONT_ONE_BYTE    : In current character set, and is 1 byte character*
 *    FONT_TWO_BYTE    : In current character set, and is 2 byte character*
 *  See also:                                                             *
 *    ftSetCurrentFont, ftGetCharacterBmp, ftGetFontType                  *
 **************************************************************************/
extern UINT32           ftIsInCharacterSet( const UINT8* pCode );


/**************************************************************************
 *  Function Name: ftGetCharacterBmp                                      *
 *  Purposes:                                                             *
 *    Get input character's bmp raw data.                                 *
 *  Descriptions:                                                         *
 *    None                                                                *
 *  Arguments:                                                            *
 *    pCode: Pointer to character. Depending on different language, it may*
 *    point to 2 byte char(eg:Chinese) or 1 byte character(eg:English)    *
 *    pBmp : Pointer to pointer to bmp raw data, if pCode is in current   *
 *    character set, we will write UINT8* into pBmp, thus pBmp contains   *
 *    pointer to this character's bmp.                                    *
 *  Returns:                                                              *
 *    FONT_NOT_IN_RANGE: Not in current character set                     *
 *    FONT_ONE_BYTE    : In current character set, and is 1 byte character*
 *    FONT_TWO_BYTE    : In current character set, and is 2 byte character*
 *  See also:                                                             *
 *    ftSetCurrentFont, ftIsInCharacterSet, ftGetFontType                 *
 **************************************************************************/
extern UINT32           ftGetCharacterBmp( const UINT8* pCode, const UINT8** pBmp );


/**************************************************************************
 *  Function Name: ftGetFontType                                          *
 *  Purposes:                                                             *
 *    Get what current character set is.                                  *
 *  Descriptions:                                                         *
 *    None                                                                *
 *  Arguments:                                                            *
 *    None                                                                *
 *  Returns:                                                              *
 *    ENUM_FONT_TYPE, see FontInterface.h. It represents what current     *
 *    character set is.                                                   *
 *  See also:                                                             *
 *    ftSetCurrentFont, ftIsInCharacterSet, ftGetCharacterBmp             *
 **************************************************************************/
extern ENUM_FONT_TYPE   ftGetFontType();


// **************************************************************************************** //
extern const FontInfo   g_Big5FontInfo;
extern const BYTE       JMT_BIG5_12X12_FONT_BITMAP[];
extern const BYTE       font_BIG5_compressed[];

extern const FontInfo   g_Big5CommonFontInfo;
extern const BYTE       JMT_BIG5_12X12_FONT_BITMAP_COMMON[];
extern const BYTE       font_BIG5_common_compressed[];

extern const FontInfo   g_GBFontInfo;
extern const BYTE       GUO_GB2312_12X12_FONT_BITMAP[];
extern const BYTE       font_GB2312_compressed[];

extern const FontInfo   g_JISFontInfo;
extern const BYTE       JP_JISX0213_12X12_FONT_BITMAP[];
extern const BYTE       font_JIS_compressed[];

extern const FontInfo   g_KSCFontInfo;
extern const BYTE       KO_KSC_12X12_FONT_BITMAP[];
extern const BYTE       font_KSC_compressed[];

extern const FontInfo   g_RussianFontInfo;
extern const BYTE       GUO_GB2312_Russian_12X12_FONT_BITMAP[];
extern const BYTE       font_Russian_compressed[];

extern const FontInfo   g_8859_1FontInfo;
extern const BYTE       ISO_8859_1_12X24_FONT_BITMAP[];
extern const BYTE       font_ISO_8859_1_compressed[];

extern const FontInfo   g_8859_2FontInfo;
extern const BYTE       ISO_8859_2_12X24_FONT_BITMAP[];
extern const BYTE       font_ISO_8859_2_compressed[];

extern const FontInfo   g_8859_5FontInfo;
extern const BYTE       ISO_8859_5_12X24_FONT_BITMAP[];

extern const FontInfo   g_8859_9FontInfo;
extern const BYTE       ISO_8859_9_12X24_FONT_BITMAP[];
extern const BYTE       font_ISO_8859_9_compressed[];

// **************************************************************************************** //
#endif

⌨️ 快捷键说明

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