To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=61005 Issue #:|61005 Summary:|AutoCorrect [A-z0-9]--[A-z0-9] to emdash is not |suitable for all languages Component:|framework Version:|OOo 2.0.1 Platform:|All URL:| OS/Version:|All Status:|UNCONFIRMED Status whiteboard:| Keywords:| Resolution:| Issue type:|ENHANCEMENT Priority:|P3 Subcomponent:|code Assigned to:|tm Reported by:|openskm
------- Additional comments from [EMAIL PROTECTED] Sun Jan 22 05:40:13 -0800 2006 ------- In svx/source/editeng/svxacorr.cxx there is a code which responsible for autocorrection of two hyphens to emdash. This behaviour is not dependent of the language of the current text. However, in Hungarian language the emdash character is not used. The endash characted should be inserted in this situation. There has been a patch for it in Hungarian community build for about two years. --- svx/source/editeng/svxacorr.cxx.orig 2005-09-11 17:21:38.000000000 +0200 +++ svx/source/editeng/svxacorr.cxx 2005-10-15 19:37:29.462518100 +0200 @@ -718,7 +718,26 @@ } } - // ersetze [A-z0-9]--[A-z0-9] durch "emDash" + // ersetze [A-z0-9]---[A-z0-9] durch "emDash" + if( cEmDash && 4 <= nEndPos - nSttPos ) + { + String sTmp( rTxt.Copy( nSttPos, nEndPos - nSttPos ) ); + xub_StrLen nFndPos = sTmp.SearchAscii( "---" ); + if( STRING_NOTFOUND != nFndPos && nFndPos && + nFndPos + 3 < sTmp.Len() && + ( rCC.isLetterNumeric( sTmp, nFndPos - 1 ) || + lcl_IsInAsciiArr( sImplEndSkipChars, rTxt.GetChar( nFndPos - 1 ) )) && + ( rCC.isLetterNumeric( sTmp, nFndPos + 3 ) || + lcl_IsInAsciiArr( sImplSttSkipChars, rTxt.GetChar( nFndPos + 3 ) ))) + { + nSttPos += nFndPos; + rDoc.Delete( nSttPos, nSttPos + 3 ); + rDoc.Insert( nSttPos, cEmDash ); + bRet = TRUE; + } + } + + // ersetze [A-z0-9]--[A-z0-9] durch "enDash" if( cEmDash && 4 <= nEndPos - nSttPos ) { String sTmp( rTxt.Copy( nSttPos, nEndPos - nSttPos ) ); @@ -732,7 +751,7 @@ { nSttPos += nFndPos; rDoc.Delete( nSttPos, nSttPos + 2 ); - rDoc.Insert( nSttPos, cEmDash ); + rDoc.Insert( nSttPos, cEnDash ); bRet = TRUE; } } The [A-z0-9]--[A-z0-9] pattern is replaced to endash while [A-z0-9]---[A-z0-9] is used for emdash (if somebody needs it during writing English text). It would be better, if this replacement rule was dependent of the language of the text. --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]