Установка TDirect2DCanvas.Font.Orientation не имеет никакого эффекта (скорее всего, не реализована, извините, нет времени на отладку).Оболочка Direct2D, поставляемая в Delphi, очень проста.
Чтобы достичь своей цели, примените преобразование вручную:
procedure TForm1.FormPaint(Sender: TObject);
var
LCanvas: TDirect2DCanvas;
currentTransform: TD2D1Matrix3x2F;
ptf: TD2DPoint2f;
const
myText = 'Kikimor';
begin
LCanvas := TDirect2DCanvas.Create(self.Canvas, ClientRect);
LCanvas.BeginDraw;
try
// backup the current transformation
LCanvas.RenderTarget.GetTransform(currentTransform);
ptf.x:= 100.0; ptf.y:= 100.0; //rotation center point
// apply transformation to rotate text at 90 degrees:
LCanvas.RenderTarget.SetTransform(TD2D1Matrix3x2F.Rotation(90, ptf));
// draw the text (rotated)
LCanvas.TextOut(100, 100, myText);
// restore the original transform
LCanvas.RenderTarget.SetTransform(currentTransform);
finally
LCanvas.EndDraw;
LCanvas.Free;
end;
end;
Для получения более подробной информации / эффектов вы можете посмотреть: Рисунок текстаИспользование IDWriteTextLayout.Draw () Вся категория Direct2D на том же сайте также интересна (используйте Google Translate).