问题标签 [fontmetrics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
236 浏览

java - 测量字符串和字体宽度

我想测量一个字符串的“最小单位”(JTextArea以某种字体显示)。

它是单个字符的宽度 + 其后的间距(取决于下一个字符)。

例如。我想测量字符串中从 charA开头到 char 开头的像素距离。Z"AZ"

我怎样才能做到这一点?我尝试同时使用FontMetrics和测量两个字符的字符串宽度,然后将其减小为第二个字符的宽度,但它没有用......

0 投票
1 回答
2042 浏览

iphone - 在 iOS 中,如何获得以特定字体和磅值呈现的字符串的宽度?

我想在屏幕上绘制卡片,它们在布局时有少量文本,在放大时有更多文本,并且理想情况下可以从一种设置动画到另一种设置,例如jQuery(...).show('slow');. 初始状态通过仿射变换略微旋转;我希望它旋转并扩展到放大视图。

我在https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/CoreText_Programming/Operations/Operations.html#//apple_ref/doc/uid/TP40005533-CH4-SW1看到了文档,但我想要更低层次的东西。我希望以响应式编程方式放大并根据分类逐步显示更多信息;因此,当卡片缩小时,ID 号可能会出现在顶部,然后是“JS”在其下方单独一行,如果/当卡片足够宽时扩展为“J Smith”,如果放大则扩展为“Jane Smith” . 与其为 iPad 和 iPhone 安装更多卡片不同,在任何一种情况下,一个显示器都可以容纳大约相同数量的卡片,但 iPad 显示器会显示更大的卡片,在不放大时包含更多信息。

是否有任何函数可以接受字符串、字体标识符和字体大小并返回字符串的像素宽?我知道在核心文本编程中对已经很低级的内容进行微观管理通常是错误的,但我想要一个精心挑选的响应式设计,它针对 iPhone 小型、iPad 小型、放大以及介于两者之间的所有事情进行了优化,并带有渐进式信息披露和分类。

0 投票
2 回答
1083 浏览

ios - 如何在 iOS Objective-C 中获取一串 XYZ 字体的宽度?

我有以下内容:

这会产生一个编译时错误:“'NSString' 没有可见的@interface 声明选择器'sizeWithAttributes。'”

我已经搜索过,看起来消息 sizeWithAttributes 适合将呈现的尺寸传递给 NSString。然而,Xcode 似乎不同意。

一旦给出了字体,也许是用于开发海豚的 Verdana,我如何/应该查询字符串的尺寸,因为它们将被呈现?

0 投票
0 回答
129 浏览

android - FontMetrics:TextBound 无效

这个警告是什么意思??,当我在 a 中设置文本时,我得到了它TextView

0 投票
2 回答
691 浏览

php - 在 PHP 中获取字体度量

我想知道 PHP 中是否有任何东西可以让我获得字体的不同属性,如上升、下降、前导、高度等。

类似于 java fount 中的 FontMetrics 类的东西:

http://docs.oracle.com/javase/6/docs/api/java/awt/FontMetrics.html

我查看了 imagettfbbox 函数(GD 库),但它不会给我我正在寻找的所有属性。

0 投票
1 回答
745 浏览

ios - iOS 7 中 UITextView 行间距发生变化 - 如何使用 Core Text 计算旧间距

看起来UITextViewiOS 7 中的行间距发生了变化(可能是因为文本视图的底层架构更改为TextKit)。我的 iOS 项目要求保持旧的 pre-iOS 7 行距。

根据需要调整行距,我发现新的NSLayoutManagerDelegate可以使用。

但是,我无法弄清楚评估要使用的行距的逻辑(基于字体指标)以模仿UITextView. 逻辑需要通用,因为我需要它适用于所有字体。任何帮助将不胜感激。

0 投票
0 回答
474 浏览

android - 如何加快 Android 上的文本测量?

我正在编写一个具有自定义文本布局引擎的应用程序,为此我必须使用 Paint 类上的 .getTextBounds() 方法测量大量(数千个)字符串。

它确实有效。但在某些设备上,这种测量非常缓慢。

例如,测量 10,000 个 5-6 字符长的单词

  • 三星 Galaxy S2 手机(或三星 Galaxy 系列的任何其他类型的设备):1.5 秒
  • HTC Desire HD:约 90 秒。
  • 华硕变压器 TF300:~30 秒
  • 等等。

我已经完成了方法分析,我可以看到,在某些设备上,测量方法的本机 Skia 实现需要更长的时间。

在测量过程中我没有做任何花哨的事情,我的代码看起来像这样:

测量文本尺寸时有什么需要注意的吗?制造商是否搞砸了与 ROM 中的字体缓存实现相关的内容?对此我能做些什么吗?

0 投票
2 回答
128 浏览

java - 将 stringWidth 与 html 字符串一起使用

这可能是一个非常简单的问题,但由于我真的不知道我在寻找什么,我无法成功找到解决方案......

我正在使用一个 JLabel,我在其中放置了一个 html 字符串。我的字符串是由 Jsoup 获得的 然后,我想调整 JLabel 的大小以使其适合字符串。为此,我使用了 FontMetrics.stringWidth 方法,该方法效果很好......除非我有特殊字符,例如“è”、“ç”、“ô”等。在这种情况下,字符变为sth like ô, or é, 并且 stringWidth 将其考虑在内。

例如, FontMetrics.stringWidth(HTMLFormating("é")) 会给我 (" é") 的 stringWidth 更长...我的预期结果是,例如,当我测量“ échec”的长度时,我得到与“echec”的结果相同

解决办法是什么 ?有没有办法将 html 字符串转换回“普通”字符串?还是我应该使用另一种方法?

谢谢你的帮助 !

0 投票
1 回答
279 浏览

c# - Windows 商店应用程序——获取字体指标?

在 Windows 商店应用程序中,如何以编程方式获取Segoe UI 字体的字体指标?(基线、上升等)?

0 投票
1 回答
1870 浏览

java - 画圆内接的字符串

我知道Java的drawString(String str, int x, int y)方法;但是,有时我想要的只是在给定字体大小(以 pts 为单位或根据圆的大小)的情况下,在圆的中间用适当的字符串标记圆。有没有一种简单的方法可以做到这一点,还是必须自己做数学?如果是这样,作为字体大小(int pts)的函数,如何计算字符串的宽度?