Gtk3: Make widgetset wrap non-ansi strings properly. Patch by Anton Kavalennka. issue #36288

git-svn-id: trunk@62226 -
This commit is contained in:
zeljko 2019-11-10 14:09:10 +00:00
parent d2504e98d1
commit 346361fb60

View File

@ -2005,7 +2005,7 @@ var
AInkRect: TPangoRectangle;
ALogicalRect: TPangoRectangle;
AMetrics: PPangoFontMetrics;
ACharWidth: gint;
ACharWidth,ATextWidth,ATextHeight: gint;
begin
NewStr:=Str;
// first check if Str contains an ampersand:
@ -2038,8 +2038,10 @@ begin
descent^ := AMetrics^.get_descent;
if width <> nil then
begin
ACharWidth := AMetrics^.get_approximate_char_width;
width^ := (StrLength * ACharWidth) div PANGO_SCALE;
{ACharWidth := AMetrics^.get_approximate_char_width;
width^ := (utf8length(Str, StrLength) * ACharWidth) div PANGO_SCALE;}
TheFont.Layout^.get_pixel_size(@ATextWidth, @ATextHeight);
width^:=ATextWidth;
end;
// PANGO_PIXELS(char_width)