问题标签 [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.
c# - WinForm 中的高级字体度量
.NET WinForm 中是否有获取高级字体指标的方法?我需要能够以编程方式确定以下内容:
- 下划线粗细
- 下划线位置
- 删除线厚度
- 三振出局位置
我能够通过互操作获得大量信息(例如:GetCharABCWidthsW),但它们还不够。这些是我尚未找到获取方法的唯一信息。
谢谢你。
qt - 在没有 GUI 的情况下获取字体度量(控制台模式)
假设某些图像必须由 Qt 控制台程序生成,并且内部算法需要字体度量(它们使用文本宽度/高度作为输入来计算应发生绘图的位置)。该程序必须可以在没有任何 GUI 的 Linux 上运行(运行级别 3,基本上是一个没有任何显示服务器的集群)。
问题: QFontMetrics 仅在以 GUI 模式运行 Qt 应用程序时可用。
在没有任何显示服务器的情况下获取字符串指标的任何解决方法?
java - java - 如何在Java中没有图形的情况下获得文本推进(stringWidth)?
java - 如何在没有Java实例的情况下获得文本推进(stringWidth)Graphics
?
在文档示例中,stringWidth()
取自FontMetrics
,而FontMetrics
取自Graphics
。
是否有可能在没有 的情况下获得相同的Graphics
?
在下面的注释中说,这Graphics
是必需的,因为它持有FontRenderContext
. 但我有FontRenderContext
,只是没有Graphics
。
所以,假设我FontRenderContext
没有Graphics
. 那我怎么得到stringWidth()
?
java - 在java中评估给定字体大小和字体系列的像素数
我有一个自定义字符串。我可以有动态长度、字体大小和字体系列。一旦我知道该文本将占用多少像素,如果它不适合其父级,我将能够截断它。
在这里,我在评估像素时无法绘制字符串或框,但我拥有所有信息,如字体大小和字体系列。我正在使用java。
android - android字体对于数字有不正确的measureText
measureText() 使用画布中的默认字体为“0”返回与“1”相同的值。有没有正确测量的字体?
程序的输出:
java - Fontmetrics 字符串宽度与字符串长度
我有一个问题,我需要在 stringwidth 为 256 处测试字符。但是,当我进行 charAt(index) 测试时,我得到一个 indexoutofbounds 异常,因为 256(缓冲图像宽度)实际上比 string.length 长。我的问题是,一旦我达到 256 的字符串宽度,我如何测试那个宽度的字符?
java - 如何检查一个字符是否是java中的修饰符
我正在尝试将图像转换为文本程序,将 0-255 值转换为与其匹配的字符(视觉上)。这里重要的是让所有字符具有相同的宽度,因此在文本编辑器中文本是方形的......
基本上我想要 32-4000 中的所有字符都具有与“X”相同的宽度,所以我可以使用“Q”但不能使用“|” (这个字体是单声道所以没有区别)
我正在使用Unifont字体。
我目前的工作是什么,但我想提供一系列大小相同的 unicode 字符(所以最后在文本中看起来不错)
这段代码工作得很好,但我仍然会在文本编辑器中得到像 'ȷ' 这样的字符,它在文本编辑器中的宽度较小,但根据字体指标被视为与 'X' 相同的宽度(我使用的是 Courier new,因为这是默认值记事本++)
摩尔代码:
css - font-size 真正对应的是什么?
我正在尝试查找font-size
CSS 属性中设置的值对应的内容。
为了给出上下文,我想在 CSS 中获取em
我从 OS/2 指标中知道的部分字体的大小(在大写高度之上和基线之下)。em
单位是相对于给定的font-size
,而 OS/2 指标是相对于 em-square 的。
我的期望
我的期望基于以下参考资料。我没有发现任何更清晰或更精确的东西。
根据CSS2.1中的W3C 参考
font-size
,以及我在该主题上找到的所有 Stack Overflow 问题中的引用(此处、此处和此处):字体大小对应于 em 方格,这是排版中使用的一个概念。请注意,某些字形可能会在它们的 em 方格之外流血。
根据我在排版方面的一些知识,这
em square
是字体度量的整个正方形,其中定义了升序、降序、间隙(等等)线。在 OS/2 度量中,em square
是字体本身的大小(通常为 1000 或 2048 UPM)。
(来源:microsoft.com)我从 W3C 中找到的唯一解释是1997 年对 CSS1 的旧参考,它与我使用的现代数字定义一致
em square
:某些值(例如宽度度量)以相对于抽象正方形的单位表示,抽象正方形的高度是相同字体大小的字体行之间的预期距离。这个正方形被称为EM正方形。(...) 常用值为 250 (Intellifont)、1000 (Type 1) 和 2048 (TrueType)。
因此,如果我正确理解了这些引用,则应该使用中指定的值来生成font-size
整个em square
字体,并且我们应该能够根据字体的大小和度量来计算部分字体的大小。
例如,与...
...我们应该有一个em square
of 100px
,并且因为Helvetica Neue
有一个大写高度714 / 1000
(sCapHeight
在 OS/2 表中),一个大写高度是71.4px
。
实际发生了什么。
生成em square
的大于(在font-size
最新版本的 Chrome、Firefox 和 Safari for Mac 上测试)。起初,我认为浏览器有另一个定义,em square
并且正在使字母的一部分等于font-size
,但我没有找到任何与它。
您还可以看到这个 CodePen。请注意,我使用line-height: 1;
突出显示预期大小,但我的问题是font-size
(“渲染墨水”)而不是line-height
(“碰撞框”)。这是我必须精确的事情,因为我已经被误解了好几次了。line-height
不是问题。
所以我有三个问题:
- 我是否正确理解了 W3C 参考资料,或者我假设这些参考资料没有说明?
- 如果不是,为什么生成的字体的 em-square 大于
font-size
? - 最重要的是:我怎么知道渲染的 em-square 的大小(相对于
font-size
)?
谢谢您的帮助。
android - Android Layout:getLineBaseline、getLineDescent、getLineAscent、getLineBottom、getLineTop的含义
以下方法Layout
(包括StaticLayout
、DynamicLayout
和BoringLayout
)的文档非常少。
getLineBaseline(int line)
getLineDescent(int line)
getLineAscent(int line)
getLineBottom(int line)
getLineTop(int line)
这些方法返回的具体数字是多少?它们是正常的字体度量值还是布局上的位置?
我做了一个测试项目来找出答案,所以我在问答风格下发布了我的答案。
swift - 在 NSView 中编写
我正在尝试在 NSView 画布中呈现文本。我需要写三行文字并忽略超出的内容。带有提供的 rect 的 String.draw(in:withAttributes) 似乎很完美。我的代码如下所示:
如果不进行调整,我只会渲染两行文本:
我错过了什么?