*** JvUnicodeCanvas.pas.orig	Sat Jul 24 22:42:27 2004
--- JvUnicodeCanvas.pas	Wed Jul 28 18:08:00 2004
***************
*** 90,96 ****
    W: Integer;
  begin
    Changing;
!   W := TextWidth(Text);
    if CanvasOrientation = coRightToLeft then
      Inc(X, W + 1);
    Windows.ExtTextOutW(Handle, X, Y, TextFlags, nil, PWideChar(Text), Length(Text), nil);
--- 90,96 ----
    W: Integer;
  begin
    Changing;
!   W := TextWidthW(Text);
    if CanvasOrientation = coRightToLeft then
      Inc(X, W + 1);
    Windows.ExtTextOutW(Handle, X, Y, TextFlags, nil, PWideChar(Text), Length(Text), nil);
***************
*** 107,125 ****
    if Brush.Style <> bsClear then
      Options := Options or ETO_OPAQUE;
    if ((TextFlags and ETO_RTLREADING) <> 0) and (CanvasOrientation = coRightToLeft) then
!     Inc(X, TextWidth(Text) + 1);
    Windows.ExtTextOutW(Handle, X, Y, Options, @Rect, PWideChar(Text), Length(Text), nil);
    Changed;
  end;
  
  function TJvUnicodeCanvas.TextWidthW(const Text: WideString): Integer;
  begin
!   Result := TextExtent(Text).cx;
  end;
  
  function TJvUnicodeCanvas.TextHeightW(const Text: WideString): Integer;
  begin
!   Result := TextExtent(Text).cy;
  end;
  
  {$ENDIF VCL}
--- 107,125 ----
    if Brush.Style <> bsClear then
      Options := Options or ETO_OPAQUE;
    if ((TextFlags and ETO_RTLREADING) <> 0) and (CanvasOrientation = coRightToLeft) then
!     Inc(X, TextWidthW(Text) + 1);
    Windows.ExtTextOutW(Handle, X, Y, Options, @Rect, PWideChar(Text), Length(Text), nil);
    Changed;
  end;
  
  function TJvUnicodeCanvas.TextWidthW(const Text: WideString): Integer;
  begin
!   Result := TextExtentW(Text).cx;
  end;
  
  function TJvUnicodeCanvas.TextHeightW(const Text: WideString): Integer;
  begin
!   Result := TextExtentW(Text).cy;
  end;
  
  {$ENDIF VCL}
