问题标签 [kerning]

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 投票
0 回答
335 浏览

ios - 来自 iOS 字体的字距调整信息

我一直在使用 OpenGL 的位图字体。它是一种使用字距调整信息并进行段落布局的基本方案。我想知道我是否可以通过 CoreText 获取字体的字距调整信息,以便我可以继续使用 OpenGL 进行文本渲染。看来,在 CoreText 中,您可以指定一个字符串,获取它的字形和字形的进展。然后我想人们可以回算特定字距的字形。但我想要的是所有字距调整对。
蛮力将创建一个包含所有可能字符对的(非常长的)字符串,该字符串将超过一英里长,然后让 CoreText 的前进并返回计算字距调整信息。但是,如果有一种直接的方法可以让字距调整不那么混乱,我会喜欢的。我知道在 Windows 上你可以做到这一点,但我希望 CoreText 或 Quartz 中也有类似的东西。

0 投票
0 回答
280 浏览

android - 使用特定字体在 Android 上进行错误的字距调整

我必须在我的 Android 应用程序中使用 Futura 字体。futura OS X 字体是 ttc 字体。所以我使用 dfontsplitter 将 .ttc 字体拆分为多个 .ttf。但是当我将其中一种字体应用到 TextView 时,字距调整有时很好,有时却是错误的。我认为这取决于密度。我能够找到适用于我的 hdpi 设备和 xhpdi 设备的字体大小,但它仍然不适用于其他密度。

api目标:17

这是来自我的字体还是我的项目。有没有办法避免这种情况?

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
825 浏览

c# - 如何计算每对字母的字距?

这些文档说:

目前没有从 SDL_ttf 中检索一对字符的字距调整的方法,但是当呈现文本字符串而不是单个字形时,将应用正确的字距调整。

但是,我想事先将所有字形渲染到纹理,然后将它们单独渲染出来,这样我就不会一直重新创建纹理。

使用TTF_GlyphMetrics和朋友,我可以获得除字距调整之外的所有信息。

我不是字体专家,但这篇文章很好地解释了字距调整。据我了解,字距调整仅取决于两个相邻的字母,因此要获得整个字体的所有字距调整值,大约需要 26 个字母 * 2(上/下)+ ~10 个符号,平方 = 3844 个值 =大约 15 kB 的数据,看起来足够小,可以缓存。

那么,我怎样才能得到每对字母的字距呢?如果他们在内部这样做,那一定是可能的。

0 投票
2 回答
93 浏览

c# - 将字符名称(即逗号)转换为实际字符(即 ,)

我目前正在尝试从字体文件中获取字距调整信息。到目前为止,我已经使用 Font Forge 获得了字距调整对。它为您提供了一个字距调整对列表,如下所示:

现在的问题在于,它没有给我一个 ascii 代码或其他东西,而是给我一个其他非字母字符的标点符号,它只是给出了字符的名称,例如逗号、句点等。

谁能想到将名称“逗号”转换为实际逗号“,”字符的方法?我有点难过。

0 投票
1 回答
1224 浏览

pdf - PDF 文件中嵌入的 Adob​​e Type 1 字体的字距如何编码?

Adobe PDF 参考讨论了 /Widths 数组和 /FontFile 流,但 Adob​​e Type 1 字体程序(.pfb 或 .pfa 文件)不包括字体指标;它们包含在字体公制文件(.afm 或 .pfm 文件)中,但未嵌入 PDF 文件中。

PDF 可以只对字符宽度指标进行编码,还是也可以对字距对进行编码?如何?

0 投票
0 回答
727 浏览

android - Android Textview 中的字距调整问题


我在使用 Android 中的 TextView 时遇到了一件有趣的事情(错误?)。

我有一个具有以下属性的文本视图(为简洁起见已剪辑):

这将按预期显示,但字距调整与设置这些属性的 textview 不同,如下所示:

我正在用头撞墙,试图弄清楚为什么从用代码构建视图到 XML 时输出不同。很难知道发生了什么,因为我只连接了一个设备。

因此,我使用每种方法拍摄了设备快照,并使用 Photoshop 将文本相互叠加。 文本和字体是相同的(即我可以逐个像素排列字母)但字距调整(字母之间的空间)不同!

仅对于那个 textview,我切换到在代码中而不是 XML 中设置它并再次比较......它们是相同的。

这是两个输出的比较。顶部是用 XML 完成的。底部是在代码中完成的。 在此处输入图像描述

编辑:请注意,图片中缺少的“INT”只是由于我在捕获示例时剪切了图片。文本字符串是相同的,并且存在“INT”....就在图片之外。

所以肯定是有区别的。但请注意实际字符是相同的。

我在 XML 中遗漏了什么吗?我已经搜索了围绕字距调整的选项,但除了安装自定义字体(我不想这样做)之外,我看不到在 android 中调整字距调整的方法。有办法吗?这是android中的错误吗?

我可以解决这个问题,但我试图消除代码,因为它真的不合适。

0 投票
2 回答
9354 浏览

android - Android 版 EditText 中的字母间距

我正在尝试根据我使用的背景来自定义 EditText。背景图像在输入区域之间有一些空格,所以我需要在字符(字距调整)之间留一些空格以使其适合它们。例如,在用户输入每个字符之后,我需要在其后放置 4 个空格。

到目前为止,我在网上找不到任何解决方案,有些人建议使用 TextWatcher,但我无法让它按照我的意愿工作。

有人可以帮我吗?

谢谢

0 投票
1 回答
3017 浏览

iphone - iOS 7 对文本应用字距和行距

我有以下代码在 iOS 6 中完美运行,问题是它在 iOS 7 中没有任何效果。如何在 iOS 7 中应用字距和行距?

0 投票
4 回答
8987 浏览

ios - 如何在 UINavigationBar 标题上设置字距调整(字符之间的间距) - Swift 或 Objective-C

我的导航栏大部分是根据自己的喜好定制的,但我正在尝试使用NSKernAttributeName. 我正在使用外观代理将导航​​栏设置为白色文本和自定义字体,但是当我尝试添加字距调整时,它不会生效。

我是否需要做一些其他事情来将一些不太常见的属性(如字距调整)添加到标题标签?

0 投票
1 回答
975 浏览

javascript - 织物弯曲文本间距/字距问题

我正在尝试修复在 fabric.curvedText.js 扩展中遇到的间距/字距调整问题。

弯曲文本.js

https://github.com/Skritz/fabric.curvedText/blob/master/curvedText.js

将大写字母添加到句子中时,似乎会丢弃半径上每个字母之间的间距。

关于如何解决这个问题的任何想法?

HTML 和 CSS

JS