diff --git a/components/fpspreadsheet/fpspreadsheetgrid.pas b/components/fpspreadsheet/fpspreadsheetgrid.pas index b2f105a00..75b2b551a 100644 --- a/components/fpspreadsheet/fpspreadsheetgrid.pas +++ b/components/fpspreadsheet/fpspreadsheetgrid.pas @@ -2191,9 +2191,9 @@ begin temp_rct := rct; // for i := gc1 to gc2 do begin for i:= gc2 downto gc1 do begin - //starting from last col will insure drawing grid lines below text - //when text is overflow in RTL and have no problem in LTR - // modification by "shobits1" + // Starting from last col will insure drawing grid lines below text + // when text is overflow in RTL and have no problem in LTR + // (Modification by "shobits1" - ok) ColRowToOffset(true, true, i, temp_rct.Left, temp_rct.Right); if HorizontalIntersect(temp_rct, clipArea) and (i <> gc) then begin diff --git a/components/fpspreadsheet/fpsvisualutils.pas b/components/fpspreadsheet/fpsvisualutils.pas index bbe487823..d242fc282 100644 --- a/components/fpspreadsheet/fpsvisualutils.pas +++ b/components/fpspreadsheet/fpsvisualutils.pas @@ -1439,7 +1439,10 @@ begin begin // (b) This is the only word in the line --> we break at the // current cursor position. - UTF8Delete(part, UTF8Length(part), 1); + if Length(part) = 1 then + NextChar(1) + else + UTF8Delete(part, UTF8Length(part), 1); end; EOL := true; break;