这是一个非常具体的问题,但我想知道是否有人会有一个出色的解决方案。我正在尝试在一个任意大小的框中装入一个固定字体大小的字符串,这样,如果整个字符串不合适,我想修剪它并添加一个椭圆(...)。
所以,如果我的文字是“荷兰”,我想确定哪个部分适合我的任意大小的盒子看起来像“幽冥......”
我正在使用jruby,所以java或ruby很好。除了修剪/测试char-by-char以查看字符串是否合适之外,我无法想出一个梦幻般的解决方案。由于它不是固定宽度的字体,我不能只将每个字符都放在相同的宽度上,这样可以更容易。
任何可能使我指向正确方向的想法或提示?
答案 0 :(得分:1)
另一种方法是处理CSS中显示的截断!
<div style="border: 1px solid gray; width: 200px;">
<span style="float: right; color: gray">...</span>
<div style="width: 184px; overflow: hidden; white-space: nowrap">
This is a really long string that goes on and on and on and we need to do something about it eventually but for now it just isn't important so I don't want to think about it.
</div></div>
这可以让您摆脱担心用户的浏览器字体指标(这是您不知道的,以及您的Java服务器的字体指标因此具有未知关系)的费力不讨好的任务。
答案 1 :(得分:0)
看一下java的FontMetrics类,特别是stringWidth方法。