For ROs, only replace spaces with hard spaces if the character before or after is number
This commit is contained in:
parent
351352b76f
commit
6a226b0480
@ -603,16 +603,31 @@ namespace VEPROMS.CSLA.Library
|
||||
while (spindx >= 0)
|
||||
{
|
||||
if (!EndsRtfCommand(newvalue, spindx, lstindx))
|
||||
{
|
||||
if (!SpaceBetweenLetters(newvalue, spindx)) // only replace a space with a hard space if the character before or after is a number B2016-144
|
||||
{
|
||||
newvalue = newvalue.Remove(spindx, 1);
|
||||
newvalue = newvalue.Insert(spindx, @"\u160?");
|
||||
}
|
||||
}
|
||||
lstindx = spindx;
|
||||
spindx = (spindx + 1 >= newvalue.Length)?spindx = -1: newvalue.IndexOf(" ", spindx+1);
|
||||
}
|
||||
return newvalue;
|
||||
}
|
||||
|
||||
private bool SpaceBetweenLetters(string newvalue, int spindx)
|
||||
{
|
||||
if (spindx > 0 && spindx < newvalue.Length)
|
||||
{
|
||||
char cb = newvalue[spindx - 1];
|
||||
char ca = newvalue[spindx + 1];
|
||||
if (char.IsLetter(cb) && char.IsLetter(ca))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private bool EndsRtfCommand(string str, int spindx, int previndx)
|
||||
{
|
||||
// get text from last space to current, or from beginning of string to current:
|
||||
|
Loading…
x
Reference in New Issue
Block a user