问题标签 [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 投票
1 回答
110 浏览

php - 如何正确实现字距生成代码

我有一种情况试图<header>使用 kerning 技术实现一个 logotext,这个简单但非常方便的工具由 Andrew 先生制作(特别感谢)。

在修改之前,我有这个<header>部分header.php

使用生成的 kerning ,我尝试过(如果这是一种不好的编码code方法,请纠正我):php

现在,不太清楚为什么,结果在 Chrome 中看起来应该是这样,但在 IE11/Firefox 中,字母在垂直位置以某种方式被打乱。

有什么想法吗?

LE:恕我直言,我必须重新考虑答案验证,因为建议无助于正确实施解决方案,它在 Chrome 中看起来不错,但在 IE/Firefox 中 Kerning 值(这个问题的主要主题)它没有任何效果。

希望你们不介意伙计们,但我仍然需要一个答案来结束这个问题,为我和其他将在未来处理这个问题的人提供正确的解决方案。如果我没有正确理解实施步骤,可以通过实际示例获得更具体的答案,我并不懒惰,只是一个纯粹的菜鸟(我已经在我的帖子中提到过)。谢谢。

0 投票
1 回答
126 浏览

css - 跨浏览器字距调整正确技术

我有一种情况试图实现<header>,一个使用字距调整技术的 logotext,桌面跨浏览器兼容。

从安德鲁先生制作的这个简单但非常方便的工具开始(特别感谢),我找到了解决方案。

在修改之前,我有这个<header>部分header.php

后:

的CSS code

在这一点上,我发现 IE/Firefox 与 Chrome 中的字距调整值看起来不同。我已经阅读了关于Media QueryChrome 值显示更正的信息,并且我已经尝试过这个:

结果在每个浏览器 IE11/Firefox38.0.5/Chrome43.0.2357.124 m 中看起来都应该如此,而且我在 Chrome 控制台中没有任何错误,但是:

作为编码方面的菜鸟,这是一种很好的跨浏览器支持的字距调整技术,还是有任何其他替代方法可以Media Query直接/简短地应用或其他条件?谢谢,

0 投票
1 回答
1065 浏览

ios - 为什么 iOS 等宽字体的行为不是这样?

我正在使用 SpriteKit 并在我的 iOS 应用程序中通过 SKLabelNode 呈现一个计时器,并在更新函数中进行更新。我不希望数字随着计数的增加而左右移动,所以我尝试使用 Courier New。它的效果比 Avenir 好得多,但一些数字的宽度仍然存在细微的波动。(6 和 9 比其他数字略宽。)我在几个不同的实验中看到了这些波动:

  • 正常和粗体样式
  • 大 (65) 和小 (9) 字体大小
  • Courier New & Menlo 字体
  • Xcode 模拟器和 iPod Touch

我提交了诸如“哪种字体具有统一宽度的数字”之类的查询,但我能找到的所有答案都只是说“使用等宽字体”。(请参阅https://graphicdesign.stackexchange.com/questions/13148/which-fonts-have-the-same-width-for-every-character等宽字体 - 不是真正的等宽字体?

我的代码超级简单。我像这样设置 scoreNode 一次:

然后我像这样更新分数:

这是一个覆盖显示 28 的帧和显示 29 的部分帧的图像。您可以看到影片的边缘对齐,并且您可以看到 2 的底部没有对齐。

部分 29 覆盖在 28 上

有什么解释吗?

即使我使用的是等宽字体,iOS 是否有可能对 SKLabelNode 应用字距调整?

0 投票
1 回答
1194 浏览

c# - 如何在 .net 中获取字体字距调整对

我正在尝试通过使用此 P/Invoke 调用来获取字体字距调整对:

每当找到具有已定义字距调整对的字体时,ExamineParis 函数都应显示一个消息框(据此:https://msdn.microsoft.com/en-us/library/windows/desktop/dd144895(v=vs.85)。 aspx ) 但它似乎总是返回 0。

我需要找到一种方法来获取给定字体的所有字距调整对(有多少,然后是它们的结构)。

有谁知道怎么做?

0 投票
1 回答
923 浏览

objective-c - 无法在 UITabBarItem 上启用字母间距(字距调整)

我正在尝试在 UITabBarItem 标题标签上启用文本字距调整(增加字母间距)。但是为 UITabBarItem 提供 NSKernAttributeName 属性并没有任何区别。但是,其他两个属性正在工作:NSForegroundColorAttributeName、NSFontAttributeName。我已经尝试过使用系统字体和另一种字体:SFUIDisplay-Regular。

是的,我也尝试使用 UIControlStateNormal 和 UIControlStateSelected。

这是代码:

NSKernAttributeName 属性没有任何作用。

当应用程序加载时,我也尝试在外观中执行此操作,如下所示:

这也无济于事。

我唯一能让 NSKernAttributeName 工作的地方是在 UILabel 上使用 setAttributedText 时。

你们知道为什么设置其他标题文本属性对 UITabBarItem 有效,但 NSKernAttributeName 无效吗?

0 投票
1 回答
3305 浏览

truetype - 无法使用 freetype 获得某些特定 .ttf 字体的字距调整

我正在尝试使用 freetype 2.6 库从一些 .ttf 字体中提取字距调整信息。

这就是我获取字距调整信息的方式(循环字符):

我尝试了一些不同字体的程序:“Times new roman.ttf”、“Tymes.ttf”、“minion.otf”。仅对于 Times new Roman 字体,字距调整信息已正确提取,我通过记录信息进行了检查。

问题是我不明白为什么其他 2 种字体的字距始终为 0(即 FT_HAS_KERNING 返回 false,并且 FT_GetKerning 无论如何都返回 0)。

我用 fontforge 检查了“VA”和“To”对的字距调整信息,它们就在那里!所以它们必须存储在 .ttf 中。然而,对于上面的代码,“VA”或“To”的字距始终为 0,否则 FT_HAS_KERNING 返回 false。

我在这里缺少任何自由类型选项或设置吗?任何形式的启蒙都值得赞赏..

编辑:我正在设置面部大小

编辑:fontforge 中“tymes”字体的字距调整信息: 在此处输入图像描述

0 投票
1 回答
482 浏览

ios - ios:自定义字体的字距调整

我可以在 ios 中为 UILable 和 UIButton 设置自定义字体的字距调整吗?

下面的方法不起作用。字距调整适用于系统字体,但不适用于自定义字体。有人可以帮助解决问题吗?

0 投票
1 回答
390 浏览

gtk# - pango_cairo_layout_path 方法不遵守字距调整

我正在使用 pango 库来做一些文本布局和 cairo 后端进行渲染。在我看来 pango_cairo_layout_path 方法不尊重字距调整。

我正在使用 gtk# 项目提供的 pango 和 cairo 的 c# 绑定。此外,我正在使用也与 gtk# 项目一起提供的 pango-cairo 运行时。

这是演示问题的图像(字体:Arial)

第一行来自 Inkscape 渲染,第二行来自 pango-cairo

pango/cairo 中是否有任何已知的错误?...或者我做错了什么

你知道有什么解决办法吗...

提前致谢

0 投票
1 回答
917 浏览

ios - ios NSMutableAttributedString NSKernAttributeName 使用“fl”和“fi”字母的错误字距

attributed strings在标签上使用来更改字母之间的间距:

除了两组字母“ fl ”和“ fi ”(也许其他我目前没有看到)之外,字距调整效果很好。我正在使用“Avenir-medium”字体,但我使用基本的 Arial 字体进行了测试,但问题仍然存在。

带有“个人资料”一词

用一句话

0 投票
2 回答
1640 浏览

javascript - 如何在 Chrome 中控制 Canvas fillText() 的字体字距调整?

我正在尝试创建一个不错的画布文本跨浏览器渲染引擎。我注意到字距调整对在 Chrome 中无法正确呈现,但在 Safari 和 Firefox 中它们可以正常工作。

铬合金:

在此处输入图像描述

火狐:

在此处输入图像描述

苹果浏览器:

在此处输入图像描述

试试这里的小提琴:http: //jsfiddle.net/o1n5014u/

代码示例:

有没有人有任何解决方法?我一直在寻找错误报告,但我找不到任何东西。