diff -Naur src/wp/impexp/xp/ie_exp_RTF_listenerWriteDoc.cpp src-new/wp/impexp/xp/ie_exp_RTF_listenerWriteDoc.cpp --- src/wp/impexp/xp/ie_exp_RTF_listenerWriteDoc.cpp Wed Jan 19 18:10:20 2000 +++ src-new/wp/impexp/xp/ie_exp_RTF_listenerWriteDoc.cpp Wed Jan 19 19:14:51 2000 @@ -111,7 +111,7 @@ if (strstr(szFontDecoration,"underline") != 0) m_pie->_rtf_keyword("ul"); if (strstr(szFontDecoration,"overline") != 0) - m_pie->_rtf_keyword("overline"); + m_pie->_rtf_keyword("*\\ol"); if (strstr(szFontDecoration,"line-through") != 0) m_pie->_rtf_keyword("strike"); } diff -Naur src/wp/impexp/xp/ie_imp_RTF.cpp src-new/wp/impexp/xp/ie_imp_RTF.cpp --- src/wp/impexp/xp/ie_imp_RTF.cpp Wed Jan 19 18:10:20 2000 +++ src-new/wp/impexp/xp/ie_imp_RTF.cpp Wed Jan 19 22:42:57 2000 @@ -758,14 +758,6 @@ m_currentRTFState.m_paraProps.m_indentLeft = param; } break; - case 'o': - if (strcmp((char*)pKeyword,"overline") == 0 || strcmp((char*)pKeyword,"over") == 0 || strcmp((char*)pKeyword,"ov") == 0) - { - // Sevior: I have no idea what the RTF sequence for overline is! - return HandleOverline(fParam ? param : 1); - } - break; - case 'p': if (strcmp((char*)pKeyword, "par") == 0) { @@ -922,7 +914,32 @@ case '*': if (strcmp((char*)pKeyword, "*") == 0) { - // TODO different destination (all unhandled at the moment, so enter skip mode) + // + // Code to handle overline importing. + // + unsigned char keyword_star[256]; + long parameter_star = 0; + UT_Bool parameterUsed_star = UT_FALSE; + // + // Look for \*\ol sequence. Ignore all others + // + if (ReadKeyword(keyword_star, ¶meter_star, ¶meterUsed_star)) + { + if( strcmp((char*)keyword_star, "\\")== 0) + { + if (ReadKeyword(keyword_star, ¶meter_star, ¶meterUsed_star)) + { + if( strcmp((char*)keyword_star,"ol") == 0) + { + return HandleOverline(parameterUsed_star ? + parameter_star : 1); + } + } + } + } + +// Ignore all other \* tags +// TODO different destination (all unhandled at the moment, so enter skip mode) m_currentRTFState.m_destinationState = RTFStateStore::rdsSkip; } break;