【问题标题】:How to change character spacing in XAML in a textbox?如何在文本框中更改 XAML 中的字符间距?
【发布时间】:2011-09-03 17:33:43
【问题描述】:

如何在文本块内的 WPF 应用程序中更改字符间距。也称为字距调整或字符跟踪。

【问题讨论】:

  • "也称为字距调整" 默认情况下启用字距调整,不应与字母间距(跟踪)混淆,因为字距调整是特定 字母之间的调整,例如A 和 V(使用字体内的距离调整使它们靠得更近)。另一方面,字母间距是对所有字符簇的全局 调整,这听起来像是您想要的。 CharacterSpacing 属性适用于 Windows 8,但我不确定它是否在您的 WPF 版本中可用。

标签: wpf xaml character spacing kerning


【解决方案1】:

也许您可以为该文本框添加一个行为,该行为将遍历每个字符并在其后添加一个空格。

或者,如果您使用 DataBinding,请使用具有相同逻辑的转换器。

如果你想大材小用,你可以制作一个自定义控件,它将继承自 TextBox 并实现该间距逻辑 这也将允许您添加一个依赖属性,例如“NumOfSpaces” 你可以控制它会放多少空间

【讨论】:

  • 字符间距,或 anton2g 正确提到的字距调整/跟踪,不是在文本中的字符之间添加一个或多个空格,而是更细粒度的调整。引用维基百科:在排版中,字距调整(不太常见的榫眼)是调整比例字体中字符间距的过程,通常是为了获得视觉上令人愉悦的结果。字距调整单个字母形式之间的间距,而跟踪(字母间距)在一系列字符上均匀地调整间距。 en.wikipedia.org/wiki/Kerning
【解决方案2】:

answer on social.msdn 建议使用 Glyphs

除此之外,FontStretch 允许进行一些调整。

【讨论】:

  • FontStretch 是一个字体选择属性,如果该字体系列支持更细和更宽的变体,但并非全部都支持。 Arial Narrow 就是其中之一。
  • Arial Narrow 在我尝试时似乎忽略了该设置?
  • @user230910:正如 Dwayne Robinson 已经指出的那样:并非所有字体都支持这一点。
  • 我了解,但从您的评论中我了解到 Arial Narrow 支持它。没问题,只是想帮助未来的读者:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多