gpt4 book ai didi

css - base64 字体呈现方式与二进制字体不同

转载 作者:行者123 更新时间:2023-12-05 07:56:47 24 4
gpt4 key购买 nike

当字体编码为 base64 时,我发现字体呈现发生了奇怪的变化。

为了提高页面性能,我正在使用类似 Smashing Magazine's 的方法将我网站的 webfonts 保存为 localStorage 中的 base64 数据。 . JS 非常简单。但是当我将 woff 字体数据转换为 base64 时,标题中的字体呈现不同。

这是二进制字体的样子:

enter image description here

这就是 base64 中发生的事情:

enter image description here

在每种情况下,HTML 都是相同的:

<h3 class="title">
<a href="http://domain.co.uk/sarah-palin-923489/"><span>What happens after Sarah Palin's teleprompter breaks is hardly surprising</span></a>
</h3>

和CSS:

.title {
font-size: 26px;
line-height: 1.2;
position: relative;
z-index: 2;
font-family: ScoutBold, Arial, Helvetica, sans-serif;
font-weight: normal;
}

span {
color: white;
background-color: rgba(126, 211, 33, 0.8);
box-shadow: 10px 0 0 rgba(126, 211, 33, 0.8), -10px 0 0 rgba(126, 211, 33, 0.8);
}

我的 scout-light.woff 字体包含如下二进制数据:

774f 4646 0001 0000 0000 7856 0011 0000
0001 1564 0001 0000 0000 76a0 0000 01b6
0000 02f9 0000 0000 0000 0000 4750 4f53
0000 65d0 0000 0da6 0000 47f2 b51f 87a4

我正在上传 woff 文件 here并将其粘贴到我的字体 CSS 中:

@font-face {
font-family: ScoutLight;
src: url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAGKIABMAAAAA70AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABqAAAABwAAAAcak+p20dERUYAAAHEAAAAMgAAADgCIAEQR1BPUwAAAfgAAA3LAABSqL7EBrtHU1VCAAAPxAAAAJIAAAEmGQ8brU9TLzIAABBYAAAA... mCGKVBUG8hLUWlnoKDzARBPFyOqu7sZs3/ye8zwgX1qK/7nqAq+wbV3RzzGSL5YaCo5yhK7YdQ17VyMUS46p+MW4zZomvI+XYSoxD5Qj2xoFyCJGxX9X34KHhEfybhkvwThqOGnP/Z2wqOjuNhMAnPwCm+rMRZVNhiZ43B2KmNqQwZUMmp4ZsNbAg5ouBY2LhGUosxQdf6EtzAAABVCFFcAAA) format("woff"), url("../fonts/scout-light/scout-light.ttf") format("truetype");
font-weight: normal;
font-style: normal;
}

所以我假设编码数据与未编码数据非常匹配。这是唯一的区别。任何人都可以建议为什么我在渲染中看到这种变化,而不同的是字体数据编码?我应该使用不同的方法进行编码吗?

base64 版本示例 here .

//////////////////////////编辑////////////////////////////

我发现将字体编码为 base64 肯定会导致质量下降。我的客户提示单引号现在位于基线之上太高。我将不得不放弃在本地存储字体。

看看这个例子中“This”之前的 ' 发生了什么。编码搞砸了。

enter image description here

最佳答案

如果没有实例很难看,但是你有没有试过将行高添加到 span-tag

行高应为 100% 并在 span-tag 中。

 .title {
position: relative;
z-index: 2;
font-family: ScoutBold, Arial, Helvetica, sans-serif;
}

.title span {
line-height: 100%;
font-size: 25px;
background-color: rgba(126, 211, 33, 0.8);
box-shadow: 10px 0 0 rgba(126, 211, 33, 0.8), -10px 0 0 rgba(126, 211, 33, 0.8);
}

关于css - base64 字体呈现方式与二进制字体不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28167120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com