我想为Visual Studio(VS)扩展程序中的某些文本分类设置字体粗细,而不仅仅是粗体粗细。我尝试使用以下代码中的TextFormattingRunProperties.SetTypeFace
来实现它:
...
var formatting = classificationFormatMap.GetExplicitTextProperties(classificationType);
// newTypeFace is a one of System fonts with non Normal weight, which was received before
formatting = formatting.SetTypeface(newTypeFace);
classificationFormatMap.SetExplicitTextProperties(classificationType, formatting);
我尝试设置 Arial [Bold | Extra Bold] , Bahnschrift [Bold | Semi Bold] 和 Consolas Bold 为newTypeFace
(所有这些字体都存在),但不幸的是,它们的粗细并没有影响VS文本编辑器窗口。然而,
字体系列和样式(我不确定我是否尝试设置非常规拉伸)会影响文本编辑器。
当然,TextFormattingRunProperties.SetBold(true)
可以很好地工作,但是我需要一种方法来设置其他字体粗细,而不仅仅是粗体,所以这种方法不能解决问题。
有人知道为什么SetTypeFace
的粗细为什么不起作用以及如何设置字体粗细?我错过了什么吗?