【问题标题】:Create Bold version from an existing monospaced Font while keeping the width从现有的等宽字体创建粗体版本,同时保持宽度
【发布时间】:2012-11-21 19:40:20
【问题描述】:

我有一个使用等宽字体的网站。但不同浏览器在字符宽度方面存在重大差异。 字体宽度必须完全相同。

我尝试过:font-weight: bold;,但这取决于浏览器,我无法使用负的 letter-space 值来弥补额外的宽度。

我尝试在 Type Light 3.2 中创建自己的新派生字体,但这非常困难,尤其是弯曲字符很难更改。

我尝试将文本加倍,并在其后添加一个绝对 div,并设置 2px 的边距变化,效果非常好,但这样做的缺点是您需要大量 div,这使得 IE7 和 IE8 非常慢使用大文本时。

是否有另一种方法(自动首选)从 ttf/eot/woff/svg 字体派生粗体字体?例如,我知道 Java 可以创建粗体字体,但我可以将其保存到新的字体文件中吗?任何方式都对我有用。

【问题讨论】:

  • 除了使文本加粗之外,没有其他方法可行吗?也许是不同的背景颜色或使用,例如#101010 表示普通文本,#000000 表示强调?
  • 我也想到了这个。即使使用#333333 与#000000,与使用font-weight: bold 相比,差异仍然很小。另一种解决方案可能是将文本与包含与 SPAN 中相同文本的 DIV 一起放入 SPAN。但是然后将 DIV 设置为绝对位置,并将其设置在左侧位置 1 或 2 个像素处。这工作得非常好,结果正是所需要的。但是 IE7 和 IE8 在性能上存在巨大的缺陷。页面加载速度非常慢,并且由于 DIV/SPAN(大量文本)太多,浏览器 GUI 冻结了数秒。

标签: fonts bold monospace


【解决方案1】:

您可以使用 CSS3 text-shadow 技巧:

text-shadow: -.5px 0,  0 .5px,  .5px 0,  0 -.5px;

当然,这在旧 IE 上不起作用,但你可以使用 glow filter

filter: glow(color:black,strength=1);

另外请注意,在我测试的所有浏览器上,当使用内置 font-family: monospace 时,粗体字重不会改变字符的宽度。所以它可能不需要否定的letter-spacing

font-weight: bold;

div {
  font-family: monospace;
}
.ie-trick-bold {
  filter: glow(color:black,strength=1);
}
.css3-trick-bold {
  text-shadow: -.5px 0,  0 .5px,  .5px 0,  0 -.5px;
}
.normal-bold {
  font-weight: bold;   
}
<div class="css3-trick-bold">Hello World! (CSS3 trick)</div>
<div class="ie-trick-bold">Hello World! (IE trick)</div>
<div class="normal-bold">Hello World! (default bold)</div>
<div>Hello World! (normal text)</div>

【讨论】:

  • 我喜欢你使用 text-shadow 的想法,遗憾的是大多数用户代理还不支持 CSS3。您正在使用的字体系列“等宽”可能已经具有内置的粗体样式。不同的是,我使用了自己的字体。因此浏览器必须生成粗体版本。并且有不同的方法来生成字体的粗体版本(这很有趣,请查阅)。但是不同的方法会导致不同的字体宽度。我的解决方案是使用 Font Creator 程序创建自己的粗体版本,并将字体系列更改为粗体版本。
  • 拥有自己的等宽字体这么重要吗?对我来说,它们看起来都一样;如果问题是您的字体没有内置的粗体样式,也许您可​​以找到另一种字体。
  • 对不起,对我来说真的很难。不知何故,我总是遇到其他人没有的情况...问题是a,我需要一个等距字体,其中字符a与您编写它的方式相同,因此就像@ 987654333@ 没有竖线那么长,如果你理解的话。
  • @Yeti 但是使用border-shadow + filter:glow 是否有效?
猜你喜欢
  • 2014-06-09
  • 2016-03-18
  • 1970-01-01
  • 1970-01-01
  • 2012-10-13
  • 1970-01-01
  • 1970-01-01
  • 2016-01-18
  • 2013-01-09
相关资源
最近更新 更多