as in subject

Darek


Index: interfaces/gtk/gtkobject.inc
===================================================================
--- interfaces/gtk/gtkobject.inc        (wersja 9183)
+++ interfaces/gtk/gtkobject.inc        (kopia robocza)
@@ -6969,6 +6965,7 @@
 
   function FindLineEnd(LineStart: integer): integer;
   var
+    CharLen,
     LineStop,
     LineWidth, WordWidth, WordEnd, CharWidth: integer;
   begin
@@ -7002,14 +6999,18 @@
         Result:=LineStart;
         LineWidth:=0;
         repeat
-          CharWidth:=GetLineWidthInPixel(Result,1);
+          charLen:=UTF8CharacterLength(@AText[result]);
+          CharWidth:=GetLineWidthInPixel(Result,charLen);
           inc(LineWidth,CharWidth);
           if LineWidth>MaxWidthInPixel then break;
-          if result=lineStop then break;
-          inc(Result);
+          if result>=lineStop then break;
+          inc(Result,charLen);
         until false;
         // at least one char
-        if Result=LineStart then inc(Result);
+        if Result=LineStart then begin
+          charLen:=UTF8CharacterLength(@AText[result]);
+          inc(Result,charLen);
+        end;
       end;
     end;
   end;

Reply via email to