📄 txtattrb.cpp
字号:
MS_LINEDRAW_FONT_FACE_STR, MS_LINEDRAW_FONT_FACE_STRLEN, pFntFc, len) ) { return MS_LINEDRAW_FONT_FACE_INDX; } else if(!stringCompare( MS_SANS_SERIF_FONT_FACE_STR, MS_SANS_SERIF_FONT_FACE_STRLEN, pFntFc, len) ) { return MS_SANS_SERIF_FONT_FACE_INDX; } else if(!stringCompare( MS_SERIF_FONT_FACE_STR, MS_SERIF_FONT_FACE_STRLEN, pFntFc, len) ) { return MS_SERIF_FONT_FACE_INDX; } else if(!stringCompare( MS_SYSTEMEX_FONT_FACE_STR, MS_SYSTEMEX_FONT_FACE_STRLEN, pFntFc, len) ) { return MS_SYSTEMEX_FONT_FACE_INDX; } else if(!stringCompare( PLAYBILL_FONT_FACE_STR, PLAYBILL_FONT_FACE_STRLEN, pFntFc, len) ) { return PLAYBILL_FONT_FACE_INDX; } else if(!stringCompare( SMALL_FONTS_FONT_FACE_STR, SMALL_FONTS_FONT_FACE_STRLEN, pFntFc, len) ) { return SMALL_FONTS_FONT_FACE_INDX; } else if(!stringCompare( VERDANA_FONT_FACE_STR, VERDANA_FONT_FACE_STRLEN, pFntFc, len) ) { return VERDANA_FONT_FACE_INDX; } else if(!stringCompare( WIDE_LATIN_FONT_FACE_STR, WIDE_LATIN_FONT_FACE_STRLEN, pFntFc, len) ) { return WIDE_LATIN_FONT_FACE_INDX; } //DBCS and UNICODE fonts: else if(!stringCompare( OSAKA_FONT_FACE_STR, OSAKA_FONT_FACE_STRLEN, pFntFc, len) ) { return(OSAKA_FONT_FACE_INDX); } else if(!stringCompare( SIMPLECHINESE_FONT_FACE_STR, SIMPLECHINESE_FONT_FACE_STRLEN, pFntFc, len) ) { return(SIMPLECHINESE_FONT_FACE_INDX); } else if(!stringCompare( TRADITIONALCHINESE_FONT_FACE_STR, TRADITIONALCHINESE_FONT_FACE_STRLEN, pFntFc, len) ) { return(TRADITIONALCHINESE_FONT_FACE_INDX); } //KOREAN! else if(!stringCompare( SEOUL_FONT_FACE_STR, SEOUL_FONT_FACE_STRLEN, pFntFc, len) ) { return(bActiveContentVersionIncludesKorean? SEOUL_FONT_FACE_INDX : DEFAULT_FONT_FACE_INDX); } //KOREAN! else if(!stringCompare( BATANG_FONT_FACE_STR, BATANG_FONT_FACE_STRLEN, pFntFc, len) ) { return(bActiveContentVersionIncludesKorean? BATANG_FONT_FACE_INDX : DEFAULT_FONT_FACE_INDX); } //KOREAN! else if(!stringCompare( BATANGCHE_FONT_FACE_STR, BATANGCHE_FONT_FACE_STRLEN, pFntFc, len) ) { return(bActiveContentVersionIncludesKorean? BATANGCHE_FONT_FACE_INDX : DEFAULT_FONT_FACE_INDX); } //KOREAN! else if(!stringCompare( GULIM_FONT_FACE_STR, GULIM_FONT_FACE_STRLEN, pFntFc, len) ) { return(bActiveContentVersionIncludesKorean? GULIM_FONT_FACE_INDX : DEFAULT_FONT_FACE_INDX); } //KOREAN! else if(!stringCompare( GULIMCHE_FONT_FACE_STR, GULIMCHE_FONT_FACE_STRLEN, pFntFc, len) ) { return(bActiveContentVersionIncludesKorean? GULIMCHE_FONT_FACE_INDX : DEFAULT_FONT_FACE_INDX); } //KOREAN! else if(!stringCompare( GOTHIC_FONT_FACE_STR, GOTHIC_FONT_FACE_STRLEN, pFntFc, len) ) { return(bActiveContentVersionIncludesKorean? GOTHIC_FONT_FACE_INDX : DEFAULT_FONT_FACE_INDX); } //KOREAN! else if(!stringCompare( APPLEGOTHIC_FONT_FACE_STR, APPLEGOTHIC_FONT_FACE_STRLEN, pFntFc, len) ) { return(bActiveContentVersionIncludesKorean? APPLEGOTHIC_FONT_FACE_INDX : DEFAULT_FONT_FACE_INDX); } else { return(DEFAULT_FONT_FACE_INDX); }}//added this function which looks at the current// value of the font index and returns the predefined string for that val:const _CHAR* TextAttributes::getFontFaceString( ULONG32 ulMajorContentVersion, ULONG32 ulMinorContentVersion){ BOOL bActiveContentVersionIncludesKorean = FALSE; //XXXEH: docs need updating: version="1.4" or higher must // be set in the <window> tag of the rt file in order for // Korean to be rendered: if(ulMajorContentVersion > REAL_TEXT_KOREAN_FONT_HANDLING_CONTENT_MAJOR_VERSION || (ulMajorContentVersion == REAL_TEXT_KOREAN_FONT_HANDLING_CONTENT_MAJOR_VERSION && ulMinorContentVersion >= REAL_TEXT_KOREAN_FONT_HANDLING_CONTENT_MINOR_VERSION) ) { bActiveContentVersionIncludesKorean = TRUE; } switch(m_fontFaceIndex) { case TIMES_FONT_FACE_INDX: { return TIMES_FONT_FACE_STR; } case COURIERTT_FONT_FACE_INDX: { return COURIERTT_FONT_FACE_STR2; } case SYSTEM_FONT_FACE_INDX: { return SYSTEM_FONT_FACE_STR; } case ARIAL_FONT_FACE_INDX: { return ARIAL_FONT_FACE_STR; } case ARIAL_BLACK_FONT_FACE_INDX: { return ARIAL_BLACK_FONT_FACE_STR; } case ARIAL_NARROW_FONT_FACE_INDX: { return ARIAL_NARROW_FONT_FACE_STR; } case ARIAL_ROUNDED_MT_BOLD_FONT_FACE_INDX: { return ARIAL_ROUNDED_MT_BOLD_FONT_FACE_STR; } case ALGERIAN_FONT_FACE_INDX: { return ALGERIAN_FONT_FACE_STR; } case BOOK_ANTIQUA_FONT_FACE_INDX: { return BOOK_ANTIQUA_FONT_FACE_STR; } case BOOKMAN_OLD_STYLE_FONT_FACE_INDX: { return BOOKMAN_OLD_STYLE_FONT_FACE_STR; } case BRAGGADOCIO_FONT_FACE_INDX: { return BRAGGADOCIO_FONT_FACE_STR; } case BRITANNIC_BOLD_FONT_FACE_INDX: { return BRITANNIC_BOLD_FONT_FACE_STR; } case BRUSH_SCRIPT_FONT_FACE_INDX: { return BRUSH_SCRIPT_FONT_FACE_STR; } case CENTURY_GOTHIC_FONT_FACE_INDX: { return CENTURY_GOTHIC_FONT_FACE_STR; } case CENTURY_SCHOOLBOOK_FONT_FACE_INDX: { return CENTURY_SCHOOLBOOK_FONT_FACE_STR; } case COLONNA_MT_FONT_FACE_INDX: { return COLONNA_MT_FONT_FACE_STR; } case COMIC_SANS_MS_FONT_FACE_INDX: { return COMIC_SANS_MS_FONT_FACE_STR; } case DESDEMONA_FONT_FACE_INDX: { return DESDEMONA_FONT_FACE_STR; } case FOOTLIGHT_MT_LIGHT_FONT_FACE_INDX: { return FOOTLIGHT_MT_LIGHT_FONT_FACE_STR; } case GARAMOND_FONT_FACE_INDX: { return GARAMOND_FONT_FACE_STR; } case HAETTENSCHWEILER_FONT_FACE_INDX: { return HAETTENSCHWEILER_FONT_FACE_STR; } case HELVETICA_FONT_FACE_INDX: { return HELVETICA_FONT_FACE_STR; } case IMPACT_FONT_FACE_INDX: { return IMPACT_FONT_FACE_STR; } case KINO_MT_FONT_FACE_INDX: { return KINO_MT_FONT_FACE_STR; } case MATURA_MT_SCRIPT_CAPITALS_FONT_FACE_INDX: { return MATURA_MT_SCRIPT_CAPITALS_FONT_FACE_STR; } case MODERN_FONT_FACE_INDX: { return MODERN_FONT_FACE_STR; } case MS_DIALOG_FONT_FACE_INDX: { return MS_DIALOG_FONT_FACE_STR; } case MS_DIALOG_LIGHT_FONT_FACE_INDX: { return MS_DIALOG_LIGHT_FONT_FACE_STR; } case MS_LINEDRAW_FONT_FACE_INDX: { return MS_LINEDRAW_FONT_FACE_STR; } case MS_SANS_SERIF_FONT_FACE_INDX: { return MS_SANS_SERIF_FONT_FACE_STR; } case MS_SERIF_FONT_FACE_INDX: { return MS_SERIF_FONT_FACE_STR; } case MS_SYSTEMEX_FONT_FACE_INDX: { return MS_SYSTEMEX_FONT_FACE_STR; } case PLAYBILL_FONT_FACE_INDX: { return PLAYBILL_FONT_FACE_STR; } case SMALL_FONTS_FONT_FACE_INDX: { return SMALL_FONTS_FONT_FACE_STR; } case VERDANA_FONT_FACE_INDX: { return VERDANA_FONT_FACE_STR; } case WIDE_LATIN_FONT_FACE_INDX: { return WIDE_LATIN_FONT_FACE_STR; } //DBCS and UNICODE fonts: case OSAKA_FONT_FACE_INDX: { return OSAKA_FONT_FACE_STR; } case SIMPLECHINESE_FONT_FACE_INDX: { return SIMPLECHINESE_FONT_FACE_STR; } case TRADITIONALCHINESE_FONT_FACE_INDX: { return TRADITIONALCHINESE_FONT_FACE_STR; } //KOREAN! case SEOUL_FONT_FACE_INDX: { return (_CHAR*)(bActiveContentVersionIncludesKorean? SEOUL_FONT_FACE_STR : DEFAULT_FONT_STR); } //KOREAN! case BATANG_FONT_FACE_INDX: { return (_CHAR*)(bActiveContentVersionIncludesKorean? BATANG_FONT_FACE_STR : DEFAULT_FONT_STR); } //KOREAN! case BATANGCHE_FONT_FACE_INDX: { return (_CHAR*)(bActiveContentVersionIncludesKorean? BATANGCHE_FONT_FACE_STR : DEFAULT_FONT_STR); } //KOREAN! case GULIM_FONT_FACE_INDX: { return (_CHAR*)(bActiveContentVersionIncludesKorean? GULIM_FONT_FACE_STR : DEFAULT_FONT_STR); } //KOREAN! case GULIMCHE_FONT_FACE_INDX: { return (_CHAR*)(bActiveContentVersionIncludesKorean? GULIMCHE_FONT_FACE_STR : DEFAULT_FONT_STR); } //KOREAN! case GOTHIC_FONT_FACE_INDX: { return (_CHAR*)(bActiveContentVersionIncludesKorean? GOTHIC_FONT_FACE_STR : DEFAULT_FONT_STR); } //KOREAN! case APPLEGOTHIC_FONT_FACE_INDX: { return (_CHAR*)(bActiveContentVersionIncludesKorean? APPLEGOTHIC_FONT_FACE_STR : DEFAULT_FONT_STR); } } return DEFAULT_FONT_STR;}//NOTE: returns FALSE if alloc fails:BOOL TextAttributes::copyIntoHrefBuf(_CHAR* pHref, ULONG32 len, ULONG32 ulTargetOfURL) { if(m_pHrefBuf) { delete [] m_pHrefBuf; m_pHrefBuf = 0; } m_pHrefBuf = new _CHAR[len+1]; HX_ASSERT(m_pHrefBuf); if(!m_pHrefBuf) //Couldn't get the memory needed, so return FALSE: { m_hrefBufLen=0L; return FALSE; } stringCopy(m_pHrefBuf, pHref, len); m_hrefBufLen = len; m_ulTargetOfURL = ulTargetOfURL; return TRUE;}///////////////////////////////////////////////////////////////////////////////// This gets called in response to a <CLEAR> tag being// encountered at time ulNewEndTime; if(m_startTime < ulNewEndTime),// this function resets m_endTime to min(m_endTime, ulNewEndTime);// returns TRUE if change is made to m_endTime, else FALSE://BOOL TextAttributes::MarkForClear(ULONG32 ulNewEndTime, BOOL bIsLiveSource){ if(IsTimeASameOrMoreRecentThanTimeB( ulNewEndTime, m_beginTime, bIsLiveSource) ) { if(IsTimeASameOrMoreRecentThanTimeB( m_endTime, ulNewEndTime, bIsLiveSource) ) { //add -1 to fix 1-millisec overlap problem: if cur time is t // and this object's end time is t, then this object won't // go away right at t because (t<t) evaluates to FALSE, so
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -