Graphics.DrawString - fontfamily 文本格式无效

Graphics.DrawString - not work fontfamily text format

在视频上叠加文字:

using (f_graphics = Graphics.FromImage(f_bmp_overlay))
            {
                f_graphics.Clear(System.Drawing.Color.Transparent);
                f_graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
                f_graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
                f_graphics.DrawString(f_text, f_font, f_color, new PointF(15, 15));
            }

文本颜色和大小效果很好,但 FontFamily 仅适用于数字。

可以做什么?

您使用的是西里尔字符,物理字体显然不包含这些字符。所以系统用它选择的另一种字体替换字形。尝试使用拉丁字符,您会发现它们也可以正确打印。

您需要一个字体文件,其中包含您正在打印的所有 Unicode 代码点的字形,并改用它。