C# 在某些字体(ti、tf等)中使用连字时,WPF格式化文本光栅化/剪切

C# 在某些字体(ti、tf等)中使用连字时,WPF格式化文本光栅化/剪切,c#,wpf,fonts,drawing,C#,Wpf,Fonts,Drawing,我目前正在使用该字体在WPF中呈现一些格式化文本,以便随后打印最终图像: DrawingVisual vis = new DrawingVisual(); DrawingContext dc = vis.RenderOpen(); ... FormattedText someText = new FormattedText("Delightful", System.Globalization.CultureInfo.CurrentCulture, FlowDirection.LeftToRigh

我目前正在使用该字体在WPF中呈现一些
格式化文本
,以便随后打印最终图像:

DrawingVisual vis = new DrawingVisual();
DrawingContext dc = vis.RenderOpen();
...
FormattedText someText = new FormattedText("Delightful", System.Globalization.CultureInfo.CurrentCulture, FlowDirection.LeftToRight, typefaceCarlito, 52, brushBlack);
dc.DrawText(someText, new Point(rightX - someText.Width, 2900 - (someText.Height / 2)));
...
dlg.PrintVisual(vis, "Test print"));
我在这里特别选择了文本“令人愉快”,因为它包含一个连字('tf'),这似乎给了我一个奇怪的问题。如果没有这样的连字,打印效果很好,打印到PDF显示它是作为向量发送的:

但是,如果我(重新)引入结扎线,会发生以下情况:

文本变得栅格化(忽略像素线,这是一个背景图像),并短结束。在某些情况下,它会在结扎位置停止。在另一些情况下,它很快就会被切断

并非所有字体都会出现这种情况-大多数系统字体都很好,我选择使用的另一种第三方字体也是如此-但我仍然需要阻止这种情况发生的能力。像素化并不是一个很大的问题,但截止点是


有什么方法可以强制
格式化文本
不将连续字符转换为其对应的连字,或者更好地阻止这种情况发生吗?

我试图重现您的问题,但在这里没有发生这种情况。我创建了一个新的wpf项目,粘贴了您的代码(并添加了一个
dc.close()
),然后将其打印到pdf文件中,一切看起来都很好。我用Chrome查看pdf。也无法复制,可能是因为你的pdf打印机驱动程序?我使用了“Microsoft打印到PDF”或字体?以下是我的测试代码:您使用的是什么版本的.NET和Visual Studio?你还能复制这个吗?