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

📄 osdfont1.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 3 页
字号:
#include "winav.h"#include "ctkav.h"#include "OSD.h"#include "input.h"#include "cc.h"#include "gdi.h"#include "fontindex.h" //++CoCo2.37P#include "setup.h"#include "comdec.h"#include "utl.h"#ifdef SUPPORT_CHAR_SUBPICTURE#include "char_subpict.h"#endif/**********************************************************************ISO 8859-2 : Bosnian, Croatian, Czech, Hungarian, Polish, Romanian,             Serbian (in Latin transcription), Serbocroatian, Slovak,             Slovenian, Upper Sorbian and Lower Sorbian.ISO 8859-7 : The modern Greek language.ISO 8859-8 : Hebrew languages.ISO 8859-9 : Turkic languages.ISO 8859-15 : English, French, German, Italian, Dutch, Spanish, and Portuguese.CP 1251 : Cyrillic language.**********************************************************************/#ifdef SUPPORT_FONT_TABLE_CHECKSUMWORD    __wFontableChecksum;WORD    OSD_FontableChecksum(void);WORD    _wOSDFontTemp;DWORD   _dwOSDFontTemp;PBYTE   _pbOSDFontTemp;#endifBYTE    _OSD_LoadTableFromFlash(FONTABLE_ID bFontableID);LONG    lUnzipResult;DWORD *pdwBase;DWORD *pdwTemp;const BYTE _bFontable_OSD_2bit[]={#include "OSDString/Fontable_2bit.txt"};#if (FONT_TABLE_METHOD != TRADITION)#define OSD_FONT_TABLE_2BIT_SIZE          (OSD_2BIT_FONT_NUM * OSD_2BIT_CHAR_SIZE)#define OSD_FONT_TABLE_1BIT_BASE_ADDRESS  (OSD_FONT_TABLE_BASE_ADDRESS + OSD_FONT_TABLE_2BIT_SIZE)#define OSD_FONT_TABLE_1BIT_SIZE          (OSD_1BIT_FONT_NUM * OSD_1BIT_CHAR_SIZE)const BYTE _bFontable_OSD_1bit[]={#include "OSDString/Fontable_1bit.txt"};const BYTE * __pCurFontTable = (const BYTE *) _bFontable_OSD_1bit;# elseconst BYTE * __pCurFontTable = (const BYTE *) _bFontable_OSD_2bit;#endif  // #if (FONT_TABLE_METHOD != TRADITION)WORD * __wCurLocMapTab;     // Current ISO/CP character mapping table in usedWORD * __wCurUniMapTab;    // Current Unicode character mapping set in usedBYTE __bEnCodeType;BYTE __bCurFontHeight;#ifdef SUPPORT_UNICODE_CODING#include "romld.h"BYTE * _bFontable_Unicode;WORD * __wUnicodeTable;WORD * __wFontSizeTable;/*#ifdef SUPPORT_CHAR_ENCODING_BIG5WORD * _wBig5MappingTable;#endif#ifdef SUPPORT_CHAR_ENCODING_SHIFT_JISWORD * _wJISMappingTable;#endif*/#endif/////////////////////////////////////////////////////////// font table#ifdef SUPPORT_STBconst BYTE _bFontable_TELETEXT_LATIN[]={#include "stb/usrif/fontable_TELETEXT_LATIN.txt"};const BYTE _bFontable_TELETEXT_MOSAICS[]={#include "stb/usrif/fontable_TELETEXT_MOSAICS.txt"};#endif#ifdef ISO_8859_15_FONTconst BYTE _bFontable_8859_15[]={#include "OSDString/ISO_8859_15_Fontable.txt"};#endif#if defined(ISO_8859_2_FONT) || defined(CP_1250_FONT)const BYTE _bFontable_8859_2[]={#include "OSDString/ISO_8859_2_Fontable.txt"};#endif#ifdef ISO_8859_7_FONTconst BYTE _bFontable_8859_7[]={#include "OSDString/ISO_8859_7_Fontable.txt"};#endif// Damon2.51, for Hebrew#ifdef ISO_8859_8_FONTconst BYTE _bFontable_8859_8[]={#include "OSDString/ISO_8859_8_Fontable.txt"};#endif#ifdef ISO_8859_9_FONTconst BYTE _bFontable_8859_9[]={#include "OSDString/ISO_8859_9_Fontable.txt"};#endif#ifdef CP_1251_FONTconst BYTE _bFontable_CP_1251[]={#include "OSDString/CP_1251_Fontable.txt"};#endif/////////////////////////////////////////////////////////// CTK string mapping table#ifndef CUSTOMER_ASCII#include "OSDString/Ascii_Remapping.txt"#endifWORD __aAsciiMappingTable[][2] = {    #include "OSDString/Ascii_Mapping.txt"};#ifdef ISO_8859_15_FONTWORD _a8859_15_MappingTable[][2] = {    #include "OSDString/ISO_8859_15_Mapping.txt"};#endif#ifdef ISO_8859_2_FONTWORD _a8859_2_MappingTable[][2] = {    #include "OSDString/ISO_8859_2_Mapping.txt"};#endif#ifdef ISO_8859_7_FONTWORD _a8859_7_MappingTable[][2] = {    #include "OSDString/ISO_8859_7_Mapping.txt"};#endif#ifdef ISO_8859_8_FONTWORD _a8859_8_MappingTable[][2] = {    #include "OSDString/ISO_8859_8_Mapping.txt"};#endif#ifdef ISO_8859_9_FONTWORD _a8859_9_MappingTable[][2] = {    #include "OSDString/ISO_8859_9_Mapping.txt"};#endif#ifdef CP_1250_FONTWORD _aCP_1250_MappingTable[][2] = {    #include "OSDString/CP_1250_Mapping.txt"};#endif#ifdef CP_1251_FONTWORD _aCP_1251_MappingTable[][2] = {    #include "OSDString/CP_1251_Mapping.txt"};#endif/////////////////////////////////////////////////////////// Unicode to CTK string mapping table#ifdef CP_1251_FONTWORD _aCP1251UniMapTab[][2] = {    #include "OSDString/CP_1251_Uni_Mapping.txt"};#endif/////////////////////////////////////////////////////////#ifdef SUPPORT_STBconst BYTE _bFontable_6937[]={#include "OSDString/6937_Fontable.txt"};#endif#ifdef DECOMPRESS_METHOD_GZIPvolatile UNZIP_SHRVAR _OSD_Unzipvar;volatile UNZIP_SHRMAT unzipmat; //unzip shared matrix#endif// Brian1.25, always call this function to load font table// ************************************************************************//  Function    :   OSD_LoadFontTable//  Description :       load font table//  Arguments   :       none//  Return      :       none//  Side Effect :// ************************************************************************void OSD_LoadFontTable(FONTABLE_ID bFontableID){#ifndef UNPROTECT_FONT_TABLE     //Alan1.00, Disable the font table protection    MACRO_MCU_DISABLE_PROTECTION(MCU_WRITE_PROTECT_AREA3_ENABLE);#endif    switch (bFontableID)    {        case FONTABLE_OSD:#if (FONT_TABLE_METHOD != CREATE_DYNAMICALLY)#ifdef DECOMPRESS_METHOD_GZIP            UNZIP_PackMatrixPtrs((PUNZIP_SHRMAT)&unzipmat);            UNZIP_InitMemPool((LONG *)ADDR_UNZIPBUFFER, (PUNZIP_SHRVAR)&_OSD_Unzipvar);            lUnzipResult = UNZIP_Decompress((DWORD*)_bFontable_OSD_2bit,                                            sizeof(_bFontable_OSD_2bit)*sizeof(BYTE),                                            (DWORD*) OSD_FONT_TABLE_BASE_ADDRESS,                                            (PUNZIP_SHRVAR)&_OSD_Unzipvar,                                            (PUNZIP_SHRMAT) &unzipmat);            if (0 != lUnzipResult)                 printf("Fail to decompress the font table\n");#else            lUnzipResult = UTL_Decompress((PBYTE)_bFontable_OSD_2bit,                           (PBYTE)OSD_FONT_TABLE_BASE_ADDRESS, (PBYTE)ADDR_UNZIPBUFFER);            if (0 >= lUnzipResult)                 printf("Fail to decompress the font table\n");#endif#if (FONT_TABLE_METHOD != TRADITION)#ifdef DECOMPRESS_METHOD_GZIP            UNZIP_PackMatrixPtrs((PUNZIP_SHRMAT)&unzipmat);            UNZIP_InitMemPool((LONG *)ADDR_UNZIPBUFFER, (PUNZIP_SHRVAR)&_OSD_Unzipvar);            lUnzipResult = UNZIP_Decompress((DWORD*)_bFontable_OSD_1bit,                                            sizeof(_bFontable_OSD_1bit)*sizeof(BYTE),                                            (DWORD*) OSD_FONT_TABLE_1BIT_BASE_ADDRESS,                                            (PUNZIP_SHRVAR)&_OSD_Unzipvar,                                            (PUNZIP_SHRMAT) &unzipmat);            if (0 != lUnzipResult)                 printf("Fail to decompress the font table\n");#else                lUnzipResult = UTL_Decompress((PBYTE)_bFontable_OSD_1bit,                               (PBYTE)OSD_FONT_TABLE_1BIT_BASE_ADDRESS, (PBYTE)ADDR_UNZIPBUFFER);            if (0 >= lUnzipResult)                 printf("Fail to decompress the font table\n");#endif#endif // #if(FONT_TABLE_METHOD != TRADITION) #endif  // if (FONT_TABLE_METHOD == CREATE_DYNAMICALLY)            GDI_SetFontHeightInTable(OSD_FONT_HEIGHT);            GDI_SetFontNumberInTable(OSD_2BIT_FONT_NUM #if (FONT_TABLE_METHOD != TRADITION)                                     + OSD_1BIT_FONT_NUM#endif                                    );            break;#ifdef SUPPORT_STB        case FONTABLE_TELETEXT_LATIN:#if (FONT_TABLE_METHOD == SPLIT_2_1_BIT)#ifdef DECOMPRESS_METHOD_GZIP            UNZIP_PackMatrixPtrs((PUNZIP_SHRMAT)&unzipmat);            UNZIP_InitMemPool((LONG *)ADDR_UNZIPBUFFER, (PUNZIP_SHRVAR)&_OSD_Unzipvar);            lUnzipResult = UNZIP_Decompress((DWORD*)_bFontable_TELETEXT_LATIN,                                            sizeof(_bFontable_TELETEXT_LATIN)*sizeof(BYTE),                                            (DWORD*) OSD_FONT_TABLE_BASE_ADDRESS,                                            (PUNZIP_SHRVAR)&_OSD_Unzipvar,                                            (PUNZIP_SHRMAT) &unzipmat);            if (0 != lUnzipResult)                 printf("Fail to decompress the font table\n");#else            lUnzipResult = UTL_Decompress((PBYTE)_bFontable_TELETEXT_LATIN,                           (BYTE *)OSD_FONT_TABLE_BASE_ADDRESS, (BYTE *)ADDR_UNZIPBUFFER);            if (0 >= lUnzipResult)                 printf("Fail to decompress the font table\n");#endif#endif  // #if (FONT_TABLE_METHOD == SPLIT_2_1_BIT)            GDI_SetFontHeightInTable(TELETEXT_LATIN_FONT_HEIGHT);            GDI_SetFontNumberInTable(TELETEXT_LATIN_FONT_NUM);             break;

⌨️ 快捷键说明

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