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

📄 osdfont1.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 3 页
字号:
                               sizeof(_bFontable_8859_9)*sizeof(BYTE), pdwUnzipAddr,                               (PUNZIP_SHRVAR)&_OSD_Unzipvar,                               (PUNZIP_SHRMAT) &unzipmat);#else            lUnzipResult = UTL_Decompress((PBYTE)_bFontable_8859_9, (PBYTE)pdwUnzipAddr, (PBYTE)ADDR_UNZIPBUFFER);#endif            break;#endif#ifdef CP_1250_FONT        case FONTTABLE_CP_1250:#ifdef DECOMPRESS_METHOD_GZIP            lUnzipResult = UNZIP_Decompress((DWORD*)_bFontable_8859_2,                               sizeof(_bFontable_8859_2)*sizeof(BYTE), (DWORD*) pdwUnzipAddr,                               (PUNZIP_SHRVAR)&_OSD_Unzipvar,                               (PUNZIP_SHRMAT) &unzipmat);#else            lUnzipResult = UTL_Decompress((PBYTE)_bFontable_8859_2, (PBYTE)pdwUnzipAddr, (PBYTE)ADDR_UNZIPBUFFER);#endif            break;#endif#ifdef CP_1251_FONT        case FONTTABLE_CP_1251:#ifdef DECOMPRESS_METHOD_GZIP            lUnzipResult = UNZIP_Decompress((DWORD*)_bFontable_CP_1251,                               sizeof(_bFontable_CP_1251)*sizeof(BYTE), pdwUnzipAddr,                               (PUNZIP_SHRVAR)&_OSD_Unzipvar,                               (PUNZIP_SHRMAT) &unzipmat);#else            lUnzipResult = UTL_Decompress((PBYTE)_bFontable_CP_1251, (PBYTE)pdwUnzipAddr, (PBYTE)ADDR_UNZIPBUFFER);#endif            break;#endif#ifdef SUPPORT_STB        case FONTTABLE_6937:#ifdef DECOMPRESS_METHOD_GZIP            lUnzipResult = UNZIP_Decompress((DWORD*)_bFontable_6937,                               sizeof(_bFontable_6937)*sizeof(BYTE), pdwUnzipAddr,                               (PUNZIP_SHRVAR)&_OSD_Unzipvar,                               (PUNZIP_SHRMAT) &unzipmat);#else            lUnzipResult = UTL_Decompress((PBYTE)_bFontable_6937, (PBYTE)pdwUnzipAddr, (PBYTE)ADDR_UNZIPBUFFER);#endif            break;#endif // #ifdef SUPPORT_STB#ifdef SUPPORT_UNICODE_CODING        case FONTABLE_UNICODE:            break;#endif        default :            break;    }#ifdef DECOMPRESS_METHOD_GZIP    if (0 != lUnzipResult)         printf("Fail to decompress the font table\n");#else    if (0 >= lUnzipResult)        printf("Fail to decompress the font table\n");#endif#ifdef SUPPORT_FONT_TABLE_CHECKSUM    __wFontableChecksum = OSD_FontableChecksum();#endif#ifndef UNPROTECT_FONT_TABLE    //Alan1.00, Enable the font table protection    MACRO_MCU_ENABLE_PROTECTION(MCU_WRITE_PROTECT_AREA3_ENABLE);#endif#endif // #if (FONT_TABLE_METHOD != CREATE_DYNAMICALLY)   OSD_SetCurFontTable(bFontableID);}// *******************************************************************//  Function    :  OSD_SetCurFontTable //  Description :       Set the current used 1-bit font table //  Arguments   :       none//  Return      :       none//  Side Effect :// *******************************************************************void OSD_SetCurFontTable(FONTABLE_ID bFontableID){    switch (bFontableID)    {#ifdef ISO_8859_2_FONT    case FONTTABLE_8859_2:         __pCurFontTable = (BYTE *)_bFontable_8859_2;        __wCurLocMapTab = (WORD*) (_a8859_2_MappingTable[0]);        __wCurUniMapTab = (WORD*) (__aAsciiMappingTable[0]);        __bCurFontHeight = ISO_8859_2_FONT_HEIGHT;        __bEnCodeType = CHAR_ENCODE_ISO_CP;        GDI_SetFontHeightInTable(ISO_8859_2_FONT_HEIGHT);        GDI_SetFontTableAddress(OSD_FONT_TABLE_BASE_ADDRESS);        break;#endif#ifdef ISO_8859_7_FONT    case FONTTABLE_8859_7:         __pCurFontTable =  (BYTE *) _bFontable_8859_7;        __wCurLocMapTab = (WORD*) (_a8859_7_MappingTable[0]);        __wCurUniMapTab = (WORD*) (__aAsciiMappingTable[0]);        __bCurFontHeight = ISO_8859_7_FONT_HEIGHT;        __bEnCodeType = CHAR_ENCODE_ISO_CP;        GDI_SetFontHeightInTable(ISO_8859_7_FONT_HEIGHT);        GDI_SetFontTableAddress(OSD_FONT_TABLE_BASE_ADDRESS);        break;#endif// Damon2.51, for Hebrew#ifdef ISO_8859_8_FONT    case FONTTABLE_8859_8:         __pCurFontTable =  (BYTE *) _bFontable_8859_8;        __wCurLocMapTab = (WORD*) (_a8859_8_MappingTable[0]);        __wCurUniMapTab = (WORD*) (__aAsciiMappingTable[0]);        __bCurFontHeight = ISO_8859_8_FONT_HEIGHT;        __bEnCodeType = CHAR_ENCODE_ISO_CP;        GDI_SetFontHeightInTable(ISO_8859_8_FONT_HEIGHT);        GDI_SetFontTableAddress(OSD_FONT_TABLE_BASE_ADDRESS);        break;#endif#ifdef ISO_8859_9_FONT    case FONTTABLE_8859_9:         __pCurFontTable =  (BYTE *) _bFontable_8859_9;        __wCurLocMapTab = (WORD*) (_a8859_9_MappingTable[0]);        __wCurUniMapTab = (WORD*) (__aAsciiMappingTable[0]);        __bCurFontHeight = ISO_8859_9_FONT_HEIGHT;        __bEnCodeType = CHAR_ENCODE_ISO_CP;        GDI_SetFontHeightInTable(ISO_8859_9_FONT_HEIGHT);        GDI_SetFontTableAddress(OSD_FONT_TABLE_BASE_ADDRESS);        break;#endif#ifdef ISO_8859_15_FONT    case FONTTABLE_8859_15:         __pCurFontTable =  (BYTE *) _bFontable_8859_15;        __wCurLocMapTab = (WORD*) (_a8859_15_MappingTable[0]);        __wCurUniMapTab = (WORD*) (__aAsciiMappingTable[0]);        __bCurFontHeight = ISO_8859_15_FONT_HEIGHT;        __bEnCodeType = CHAR_ENCODE_ISO_CP;        GDI_SetFontHeightInTable(ISO_8859_15_FONT_HEIGHT);        GDI_SetFontTableAddress(OSD_FONT_TABLE_BASE_ADDRESS);        break;#endif#ifdef CP_1250_FONT     case FONTTABLE_CP_1250:        __pCurFontTable =  (BYTE *) _bFontable_8859_2;        __wCurLocMapTab = (WORD*) (_aCP_1250_MappingTable[0]);        __wCurUniMapTab = (WORD*) (__aAsciiMappingTable[0]);        __bCurFontHeight = ISO_8859_2_FONT_HEIGHT;        __bEnCodeType = CHAR_ENCODE_ISO_CP;        GDI_SetFontHeightInTable(ISO_8859_2_FONT_HEIGHT);        GDI_SetFontTableAddress(OSD_FONT_TABLE_BASE_ADDRESS);        break;#endif#ifdef CP_1251_FONT     case FONTTABLE_CP_1251:        __pCurFontTable =  (BYTE *) _bFontable_CP_1251;        __wCurLocMapTab = (WORD*) (_aCP_1251_MappingTable[0]);        __wCurUniMapTab = (WORD*) (_aCP1251UniMapTab[0]);        __bCurFontHeight = CP_1251_FONT_HEIGHT;        __bEnCodeType = CHAR_ENCODE_ISO_CP;        GDI_SetFontHeightInTable(CP_1251_FONT_HEIGHT);        GDI_SetFontTableAddress(OSD_FONT_TABLE_BASE_ADDRESS);        break;#endif#ifdef SUPPORT_STB     case FONTTABLE_6937:        __pCurFontTable =  (BYTE *) _bFontable_6937;        GDI_SetFontHeightInTable(ISO_6937_FONT_HEIGHT);        break;    case FONTABLE_TELETEXT_LATIN:        __pCurFontTable =  (BYTE *) _bFontable_TELETEXT_LATIN;        GDI_SetFontNumberInTable(TELETEXT_LATIN_FONT_NUM);         GDI_SetFontHeightInTable(TELETEXT_LATIN_FONT_HEIGHT);        GDI_SetFontTableAddress(OSD_FONT_TABLE_BASE_ADDRESS);        break;    case FONTABLE_TELETEXT_MOSAICS:        __pCurFontTable =  (BYTE *) _bFontable_TELETEXT_MOSAICS;        GDI_SetFontNumberInTable(TELETEXT_MOSAICS_FONT_NUM);         GDI_SetFontHeightInTable(TELETEXT_MOSAICS_FONT_HEIGHT);        GDI_SetFontTableAddress(TELETEXT_MOSAICS_FONT_TABLE_BASE_ADDRESS);        break;#endif#ifdef SUPPORT_UNICODE_CODING    case FONTABLE_UNICODE:        _OSD_LoadTableFromFlash(FONTABLE_UNICODE);		        __pCurFontTable =  (BYTE *) _bFontable_Unicode;        __bCurFontHeight = UNICODE_FONT_HEIGHT;          __bEnCodeType = CHAR_ENCODE_UNICODE;        GDI_SetFontHeightInTable(UNICODE_FONT_HEIGHT);        //GDI_SetFontWidth(UNICODE_FONT_WIDTH);        break;#endif#ifdef SUPPORT_CHAR_ENCODING_BIG5    case FONTABLE_BIG5:        _OSD_LoadTableFromFlash(FONTABLE_BIG5);		        __pCurFontTable =  (BYTE *) _bFontable_Unicode;                  __bCurFontHeight = UNICODE_FONT_HEIGHT;         __bEnCodeType = CHAR_ENCODE_OTHER;        GDI_SetFontHeightInTable(UNICODE_FONT_HEIGHT);        //GDI_SetFontWidth(UNICODE_FONT_WIDTH);        break;#endif#ifdef SUPPORT_CHAR_ENCODING_SHIFT_JIS    case FONTABLE_SHIFT_JIS:        _OSD_LoadTableFromFlash(FONTABLE_SHIFT_JIS);		        __pCurFontTable =  (BYTE *) _bFontable_Unicode;                 __bCurFontHeight = UNICODE_FONT_HEIGHT;          __bEnCodeType = CHAR_ENCODE_OTHER;        GDI_SetFontHeightInTable(UNICODE_FONT_HEIGHT);        //GDI_SetFontWidth(UNICODE_FONT_WIDTH);        break;#endif    case FONTABLE_OSD:     default:/*#if (FONT_TABLE_METHOD != TRADITION)        __pCurFontTable =  (BYTE *) _bFontable_OSD_1bit;#endif */        GDI_SetFontHeightInTable(OSD_FONT_HEIGHT);        GDI_SetFontTableAddress(OSD_FONT_TABLE_BASE_ADDRESS);        break;    }}// Damon, modify the procedure to support font table from flash directly.// *******************************************************************//  Function    :   _OSD_LoadTableFromFlash//  Description :   Load Font Table from flash directly//  Arguments  :   none//  Return       :   TRUE, point to font table address is successful.//                      FALSE, point to font table address is failed.//  Side Effect :// *******************************************************************BYTE _OSD_LoadTableFromFlash(FONTABLE_ID bFontableID){#ifdef SUPPORT_UNICODE_CODING     PSECTION_ENTRY pFonTab, pUniTab, pFonSize; #endif#if defined(SUPPORT_CHAR_ENCODING_BIG5) || defined(SUPPORT_CHAR_ENCODING_SHIFT_JIS)    PSECTION_ENTRY pMapTab;#endif#ifdef SUPPORT_UNICODE_CODING       // load unicode font table    pFonTab = ROMLD_GetSectionByName(0, "FONT");    if (!pFonTab)    {        DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, "Can't find unicode font table\n");        return (FALSE);    }    _bFontable_Unicode = (BYTE *) pFonTab->dwRMA;	    // load unicode table    pUniTab = ROMLD_GetSectionByName(0, "UNIC");    if (!pUniTab)    {        DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, "Can't find unicode table\n");        return (FALSE);    }    __wUnicodeTable = (WORD *) pUniTab->dwRMA;	     // load font size mapping table    pFonSize = ROMLD_GetSectionByName(0, "SIZE");    if (!pFonSize)    {        DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, "Can't find size table\n");        return (FALSE);    }    __wFontSizeTable = (WORD *) pFonSize->dwRMA;		#endif //SUPPORT_UNICODE_CODING    switch (bFontableID)    {#ifdef SUPPORT_CHAR_ENCODING_BIG5    case FONTABLE_BIG5:        // load Big5 mapping table        pMapTab = ROMLD_GetSectionByName(0, "BIGT");            if (!pMapTab)        {            DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, "Can't find Big5 mapping table\n");            return (FALSE);        }        __wCurUniMapTab = (WORD *) pMapTab->dwRMA;        break;#endif		#ifdef SUPPORT_CHAR_ENCODING_SHIFT_JIS    case FONTABLE_SHIFT_JIS:        // load Shift JIS mapping table        pMapTab = ROMLD_GetSectionByName(0, "JIST");            if (!pMapTab)        {            DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, "Can't find JIS mapping table\n");            return (FALSE);        }            __wCurUniMapTab = (WORD *) pMapTab->dwRMA;        break;#endif				    default:        break;    }	    return (TRUE);    }

⌨️ 快捷键说明

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