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

📄 osdfont1.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 3 页
字号:
        case FONTABLE_TELETEXT_MOSAICS:#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_MOSAICS,                                            sizeof(_bFontable_TELETEXT_MOSAICS)*sizeof(BYTE),                                            (DWORD*)TELETEXT_MOSAICS_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_MOSAICS,                               (BYTE *)TELETEXT_MOSAICS_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_MOSAICS_FONT_HEIGHT);            GDI_SetFontNumberInTable(TELETEXT_MOSAICS_FONT_NUM);             break;#endif // SUPPORT_STB        default :            break;    }/*#ifndef SUPPORT_CHAR_ENCODING_SWITCH#ifdef SUPPORT_CHAR_ENCODING_WESTERN_EUROPEAN    OSD_AddFontToTable(FONTTABLE_8859_15);#elif defined(SUPPORT_CHAR_ENCODING_CENTRAL_EUROPEAN)    OSD_AddFontToTable(FONTTABLE_8859_2);#elif defined(SUPPORT_CHAR_ENCODING_GREEK)    OSD_AddFontToTable(FONTTABLE_8859_7);#elif defined(SUPPORT_CHAR_ENCODING_HEBREW)    OSD_AddFontToTable(FONTTABLE_8859_8);#elif defined(SUPPORT_CHAR_ENCODING_TURKISH)    OSD_AddFontToTable(FONTTABLE_8859_9);#elif defined(SUPPORT_CHAR_ENCODING_CP1250)    OSD_AddFontToTable(FONTTABLE_CP_1250);#elif defined(SUPPORT_CHAR_ENCODING_CYRILLIC)    OSD_AddFontToTable(FONTTABLE_CP_1251);#elif defined(SUPPORT_CHAR_ENCODING_CHINESE) || defined(SUPPORT_CHAR_ENCODING_JAPANESE)    OSD_AddFontToTable(FONTABLE_UNICODE);#else    __wCurLocMapTab = (WORD*) (__aAsciiMappingTable[0]);    __wCurUniMapTab = (WORD*) (__aAsciiMappingTable[0]);    __bEnCodeType = CHAR_ENCODE_ISO_CP;#endif#endif //SUPPORT_CHAR_ENCODING_SWITCH*/#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}// Brian1.25, always call this function to load font table// ************************************************************************//  Function    :   OSD_FontableChecksum//  Description :       do fontable checksum//  Arguments   :       none//  Return      :       checksum value//  Side Effect :// ************************************************************************#ifdef SUPPORT_FONT_TABLE_CHECKSUMWORD OSD_FontableChecksum(void){    _wOSDFontTemp = 0;    // The font table size is 32768 WORD.  256 char * 32*32*2/8 byte / 2 = 32768    for(_dwOSDFontTemp = 0; _dwOSDFontTemp < 65536; _dwOSDFontTemp++)    {        _pbOSDFontTemp = (PBYTE)(OSD_FONT_TABLE_BASE_ADDRESS + _dwOSDFontTemp);        _wOSDFontTemp += *_pbOSDFontTemp;    }    return _wOSDFontTemp;}#endif// *******************************************************************//  Function    :   OSD_ReplaceFont//  Description :   Replace character set for external usage (dir/file name, external subtitle, EPG, ...) //  Arguments   :       none//  Return      :       none//  Side Effect :// *******************************************************************//#ifdef SUPPORT_CHAR_ENCODING_SWITCHvoid OSD_ReplaceFont(void){    switch (__SetupInfo.bExSPSTLanguage)    {#ifdef SUPPORT_CHAR_ENCODING_WESTERN_EUROPEAN    case SETUP_LANGUAGE_ENCODING_WESTERN_EUROPEAN:                OSD_AddFontToTable(FONTTABLE_8859_15);          break;#endif#ifdef SUPPORT_CHAR_ENCODING_CENTRAL_EUROPEAN    case SETUP_LANGUAGE_ENCODING_CENTRAL_EUROPEAN:                OSD_AddFontToTable(FONTTABLE_8859_2);        break;#endif#ifdef SUPPORT_CHAR_ENCODING_GREEK    case SETUP_LANGUAGE_ENCODING_GREEK:                OSD_AddFontToTable(FONTTABLE_8859_7);        break;#endif#ifdef SUPPORT_CHAR_ENCODING_HEBREW    case SETUP_LANGUAGE_ENCODING_HEBREW:                OSD_AddFontToTable(FONTTABLE_8859_8);        break;#endif#ifdef SUPPORT_CHAR_ENCODING_TURKISH    case SETUP_LANGUAGE_ENCODING_TURKISH:                OSD_AddFontToTable(FONTTABLE_8859_9);        break;#endif#ifdef SUPPORT_CHAR_ENCODING_CP1250    case SETUP_LANGUAGE_ENCODING_CP1250:                OSD_AddFontToTable(FONTTABLE_CP_1250);                break;#endif#ifdef SUPPORT_CHAR_ENCODING_CYRILLIC    case SETUP_LANGUAGE_ENCODING_CYRILLIC:                OSD_AddFontToTable(FONTTABLE_CP_1251);            break;#endif#ifdef SUPPORT_CHAR_ENCODING_CHINESE    case SETUP_LANGUAGE_ENCODING_TWN_UNICODE:               OSD_AddFontToTable(FONTABLE_UNICODE);        break;#endif#ifdef SUPPORT_CHAR_ENCODING_BIG5    case SETUP_LANGUAGE_ENCODING_TWN_BIG5:               OSD_AddFontToTable(FONTABLE_BIG5);        break;#endif#ifdef SUPPORT_CHAR_ENCODING_JAPANESE    case SETUP_LANGUAGE_ENCODING_JPN_UNICODE:                OSD_AddFontToTable(FONTABLE_UNICODE);        break;#endif#ifdef SUPPORT_CHAR_ENCODING_SHIFT_JIS    case SETUP_LANGUAGE_ENCODING_JPN_SHIFT_JIS:                OSD_AddFontToTable(FONTABLE_SHIFT_JIS);        break;#endif    case SETUP_LANGUAGE_ENCODING_ASCII:    default:        __wCurLocMapTab = (WORD*) (__aAsciiMappingTable[0]);        __wCurUniMapTab = (WORD*) (__aAsciiMappingTable[0]);        __bEnCodeType = CHAR_ENCODE_ISO_CP;        break;    }}//#endif// *******************************************************************//  Function    :   OSD_AddFontsToTable//  Description :       add some fonts to the font table//  Arguments   :       none//  Return      :       none//  Side Effect :// *******************************************************************void OSD_AddFontToTable(FONTABLE_ID bFontableID){#if (FONT_TABLE_METHOD != CREATE_DYNAMICALLY)    DWORD* pdwUnzipAddr = NULL;    switch (bFontableID)    {#ifdef ISO_8859_15_FONT        case FONTTABLE_8859_15:            if (__pCurFontTable == _bFontable_8859_15)                return;            break;#endif#ifdef ISO_8859_2_FONT        case FONTTABLE_8859_2:            if (__pCurFontTable == _bFontable_8859_2)                return;            break;#endif#ifdef ISO_8859_7_FONT        case FONTTABLE_8859_7:            if (__pCurFontTable == _bFontable_8859_7)                return;            break;#endif// Damon2.51, for Hebrew#ifdef ISO_8859_8_FONT        case FONTTABLE_8859_8:            if (__pCurFontTable == _bFontable_8859_8)                return;            break;#endif#ifdef ISO_8859_9_FONT        case FONTTABLE_8859_9:            if (__pCurFontTable == _bFontable_8859_9)                return;            break;#endif#ifdef CP_1250_FONT        case FONTTABLE_CP_1250:            if (__pCurFontTable == _bFontable_8859_2)                return;            break;#endif#ifdef CP_1251_FONT        case FONTTABLE_CP_1251:            if (__pCurFontTable == _bFontable_CP_1251)                return;            break;#endif#ifdef SUPPORT_STB        case FONTTABLE_6937:            if (__pCurFontTable == _bFontable_6937)                return;            break;#endif // #ifdef SUPPORT_STB/*#ifdef SUPPORT_UNICODE_CODING        case FONTABLE_UNICODE:                        if (__pCurFontTable == _bFontable_Unicode)                return;            break;#endif*/        default :            break;    }#ifndef UNPROTECT_FONT_TABLE    //Alan1.00, Disable the font table protection    MACRO_MCU_DISABLE_PROTECTION(MCU_WRITE_PROTECT_AREA3_ENABLE);#endif#ifdef DECOMPRESS_METHOD_GZIP    UNZIP_PackMatrixPtrs((PUNZIP_SHRMAT)&unzipmat);    UNZIP_InitMemPool((LONG *)ADDR_UNZIPBUFFER, (PUNZIP_SHRVAR)&_OSD_Unzipvar);#endif#if (FONT_TABLE_METHOD == TRADITION)    pdwUnzipAddr = (DWORD*) (OSD_FONT_TABLE_BASE_ADDRESS + OSD_2BIT_CHAR_SIZE * OSD_2BIT_FONT_NUM);#elif (FONT_TABLE_METHOD == SPLIT_2_1_BIT)    pdwUnzipAddr = (DWORD*) (OSD_FONT_TABLE_1BIT_BASE_ADDRESS + OSD_FONT_TABLE_1BIT_SIZE);#endif    switch (bFontableID)    {#ifdef ISO_8859_15_FONT        case FONTTABLE_8859_15:#ifdef DECOMPRESS_METHOD_GZIP            lUnzipResult = UNZIP_Decompress((DWORD*)_bFontable_8859_15,                sizeof(_bFontable_8859_15)*sizeof(BYTE), pdwUnzipAddr,                (PUNZIP_SHRVAR)&_OSD_Unzipvar,                (PUNZIP_SHRMAT) &unzipmat);#else            lUnzipResult = UTL_Decompress((PBYTE) _bFontable_8859_15, (PBYTE)pdwUnzipAddr, (PBYTE)ADDR_UNZIPBUFFER);#endif            break;#endif#ifdef ISO_8859_2_FONT        case FONTTABLE_8859_2:#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 ISO_8859_7_FONT        case FONTTABLE_8859_7:#ifdef DECOMPRESS_METHOD_GZIP            lUnzipResult = UNZIP_Decompress((DWORD*)_bFontable_8859_7,                               sizeof(_bFontable_8859_7)*sizeof(BYTE), (DWORD*) pdwUnzipAddr,                               (PUNZIP_SHRVAR)&_OSD_Unzipvar,                               (PUNZIP_SHRMAT) &unzipmat);#else            lUnzipResult = UTL_Decompress((PBYTE)_bFontable_8859_7, (PBYTE)pdwUnzipAddr, (PBYTE)ADDR_UNZIPBUFFER);#endif            break;#endif// Damon2.51, for Hebrew#ifdef ISO_8859_8_FONT        case FONTTABLE_8859_8:#ifdef DECOMPRESS_METHOD_GZIP            lUnzipResult = UNZIP_Decompress((DWORD*)_bFontable_8859_8,                               sizeof(_bFontable_8859_8)*sizeof(BYTE), (DWORD*) pdwUnzipAddr,                               (PUNZIP_SHRVAR)&_OSD_Unzipvar,                               (PUNZIP_SHRMAT) &unzipmat);#else            lUnzipResult = UTL_Decompress((PBYTE)_bFontable_8859_8, (PBYTE)pdwUnzipAddr, (PBYTE)ADDR_UNZIPBUFFER);#endif            break;#endif#ifdef ISO_8859_9_FONT        case FONTTABLE_8859_9:#ifdef DECOMPRESS_METHOD_GZIP            lUnzipResult = UNZIP_Decompress((DWORD*)_bFontable_8859_9,

⌨️ 快捷键说明

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