javascript - 估计服务器上的客户端字体渲染大小?

标签 javascript python fonts

我有一个带有评论的网站;每个评论可以是可变长度。较长的注释自然会占用更多空间。然而,我在页面上只有有限的空间来放置这些评论。

当然,从堆栈中挑选固定数量的评论是行不通的,因为它们可能是简短的 1 行或 50 行文章。将整个列表发送到客户端,并让客户端 JavaScript 在渲染后将其剪切到适当的长度,看起来非常浪费。计算字符数不起作用,因为“iii”占用的空间比“MMM”少得多

我想要的是某种方法来计算每个评论的高度,给定其内容、字体、字体大小和粗细。即使它并不完美,我也可以欺骗服务器发送大约 20% 的评论,并让客户端 JavaScript 对其进行 trim ,这至少可以将我的浪费限制在评论的一部分上。

我正在使用 Python,并且正在考虑让 Python 图像库在服务器上渲染评论文本,并查看最终图像的高度/宽度。首先,有没有任何“标准”方法可以做到这一点?

编辑:我还可以渲染每个字符并在服务器上维护字符、字体、粗细、大小 -> 宽度、高度的映射,因为我没有涉足字距调整或其他字符间关系。

最佳答案

你应该记住大数定律。没有多少文章只由字母 i 或 M 组成。先尝试一些真实的评论文本,字符计数可能会比您预期的效果更好。而且它比使用 PIL 在服务器端渲染文本要快得多。

关于javascript - 估计服务器上的客户端字体渲染大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7948443/

相关文章:

javascript - 访问 WordPress 面板中的子菜单

javascript - 在 D3 强制布局中的节点上显示鼠标悬停时的 div 元素

javascript - vuejs - 在函数调用时访问动态创建的输入

python - : python string assignments accidentally change '\b' into '\x08' and '\a' into '\x07' , 为什么 Python 这样做?

fonts - Wine 和西里尔字母字体

html - 为什么 › 直 Angular 引号 (›) 没有垂直对齐?

javascript - Json Google 用JS映射矩阵数据

python - 使用Python进行全文搜索

python - 对 pandas 系列中的日期数据进行排序

ios - iOS 应用程序需要动态字体吗?