private void DrawSingleLineText(IGraphicsTarget g, string text, FontDesc fontDesc, PointF pt, StringAlignment horizAlignment, StringAlignment vertAlignment) { object font = new object(); g.CreateFont(font, fontDesc.Name, fontDesc.EmHeight, fontDesc.TextEffects); ITextFaceMetrics fontMetrics = textMetrics.GetTextFaceMetrics(fontDesc.Name, fontDesc.EmHeight, fontDesc.TextEffects); SizeF size = fontMetrics.GetTextSize(text); switch (horizAlignment) { case StringAlignment.Near: break; case StringAlignment.Center: pt.X = pt.X - size.Width / 2F; break; case StringAlignment.Far: pt.X = pt.X - size.Width; break; } switch (vertAlignment) { case StringAlignment.Near: break; case StringAlignment.Center: pt.Y = pt.Y - size.Height / 2F; break; case StringAlignment.Far: pt.Y = pt.Y - size.Height; break; } g.DrawText(text, font, blackBrush, pt); fontMetrics.Dispose(); }