问题标签 [glyph]
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++ - C++ 字符串长度:数组元素与字形
string::size 是否返回表示字符串所需的数组元素数,或呈现字符串所需的字形数?wstring 的行为是否相同?
imagemagick - ImageMagick 字形宽度错误
我尝试使用不同的字体覆盖相同文本的两个版本(以创建轮廓和多色字母等文本效果)。字体是用相同的字形宽度定义的,如果我使用 Photoshop(或任何文本处理软件)生成两个文本并叠加它们,它们就非常合适。但 ImageMagick 似乎并不关心字形宽度,而是使用自己的定位系统。因此,即使仅显示一个字母的文本,这两层也不适合。ImageMagick 使用哪些字体定义?
这是我显示“4”的命令:
使用注释选项定位图层不是解决方案,因为文本是在图像处理器中动态生成的。
有任何想法吗?
jquery - JQuery 无法识别 var 中的字形
我在输入标记中有一个带有 JQuery 验证的表单我有一些字形。如果选择了输入字段,则只有默认值必须消失。
这是完整的代码:
HTML:
jQuery:
internet-explorer - @font-face 和 IE9+ 输入标签
我遇到了很多我无法理解的问题。问题是我在我们的公司网站上使用自定义字体,它在除 IE 之外的任何地方都可以正常工作。
我将尝试解释...用于输入和标签的字体是相同的。问题是所有东西都按预期显示,除了<input/>
. 那么,这个字体有什么问题呢?我怎样才能找回我的西里尔字符形?我完全知道它们存在于字体中。
此字体基于MyriadPro Light
字体并使用 Glyphs 进行编辑。您可以下载已编辑的字体以了解其结构。
UPD:哦,我忘了说这个字体是通过 2 个不同的转换器(FontSquirrel 和 OnlineFontConverter)为 Web 转换的,没有运气。也许问题出在那些转换器上?因为我认为,这是*.woff
格式的问题。比如说,IE10 将*.woff
文件用于@font-face
;
UPD2: 部分布局(html+css):
html
字体:
CSS
UPD 3:再次出现问题
不幸的是,问题仍然存在。现在另一种字体出现了问题:“Futura Round Regular”。我使用使用 fontsquirell 转换的字体。您可以在下图中看到效果:
如您所见,输入中的部分字符串是西里尔字母,显示为“Times New Roman”,其他所有内容均按预期显示。在 IE8-10 中使用大多数西里尔字体时会出现此问题。你可以在这里下载字体包
c++ - 将文本转换为网格
我需要将文本(字符串+字体)转换为网格(顶点、索引、三角形等),但我不需要绘制任何东西。我将从一个 API 中获取一个字符串并将其作为顶点和索引推送到另一个 API。这样做的最简单/最简单/最好的方法是什么?字体度量和文本放置当然是可用的,不需要其他转换。
我目前正在使用 VC++。但是,任何类型的开源(C/C++、C#、VB,...)和“非开放但免费”的 COM/.NET 库都会很棒。
我听说过FreeType。它会回应我的祈祷还是有更好的东西?
编辑:正如 Nico Schertler 评论的那样,DirectX -libs 中似乎有 Mesh.TextFromFont -function 可能起到了作用。谢谢你尼科!当我有时间在实践中测试它时,我会更新。
fonts - 如何通过解析 TTF 字体文件来获取字形宽度?
为了捕获字体的字形宽度TrueType
,我将相应的TTF
文件转换fontforge
为AFM
,它是文本格式(不是二进制)。然后,解析文本文件以捕获字形宽度。
应该有更简单的方法来直接解析二进制TTF
文件以捕获字形宽度。
我很欣赏 shell 脚本或 C 的策略,但是任何编程语言都可以,因为想法是关键,并且可以调整代码。
java - 在 iText 中调整 TextMatrix
我生成了一个带有一行字符 M 的 PDF。每个 M 具有一致的宽度,但每个 M 之间的距离在变化:第一对是 2px,第五个有 3px,然后接下来的四个有 2px,第十个是 3px,等等。
由于我的代码中的任何 M 或中间的任何空格绝对没有区别,唯一的结论是某些宽度值无法在坐标系中正确缩放,每隔一段时间就会产生一个额外的像素。
这是 PDF 在绘制字形时计算水平移动量的方式:
在计算标准 96DPI 显示器时,每个像素以 0.75 单位表示(经过彻底检查和测试)。
考虑到这一点,我需要确保 Tx 值可以被 0.75 整除。
这是我所知道的:
- w0 是来自宽度数组 (widths[]) 的整数
- Tfs 是一个可被 0.75 整除的数字(由我设置)
- Th 为 100(默认)
- Tc 和 Tw 均为 0(默认)
所以 Tj/1000 需要是一个整数,这意味着 Tj 需要能被 1000 整除。
一种方法是获取和调整 Tj 值。另一种方法是在计算 Tx 值后访问它,并将其更改为可被 0.75 整除的最接近的值。
如何在 iText 中执行此操作?
还是我的整个假设是错误的?
来源:链接(第 252 页)
.net - .Net Unicode 字符映射
假设我们有以下两个类
我们可以GlyphTypeface
通过Typeface.TryGetGlyphTypeface
方法创建类的实例,但在创建对象之前,GlyphTypeface
我们Typeface
使用以下构造函数创建对象
当我们创建对象 fontFamily 时,我们硬编码了 fontName(例如 Calibri)。 .Net用于字形索引CharacterToGlyphMap
的自动填充属性。GlyphTypeface
我想知道人口是否CharacterToGlyphMap
取决于字体名称(calibri)?实际问题是,当我们使用 fontname(calibri) 并尝试CharacterToGlyphMap
通过印地语符号获取值时,我们得到“找不到错误键”。
c# - 将 BackwardQuadrilateralTransformation 应用于定义的 GRAFT 点
我有一小段 C# 代码,它使用 Kinect 在画布上检测多达 4 个字形并在它们之间绘制和多边形,如下所示:
我试图遵循这一点,以实现 2D 增强现实并在创建的多边形内投影图像。我已阅读源图像并尝试将 BackwardQuadrilateralTransformation 应用于它,但似乎无法显示转换后的图像。我可能使用了错误的方法,但我尝试转换图像并将其绘制到画布上,但没有成功。我不确定我是否只是严重误解了该方法,也许这是不可能的,任何帮助将不胜感激。如果需要,我可以提供更多示例代码。
在进一步使用代码后,我认为我已经开发了一个部分解决方案,它仍然需要一些工作,但希望这对人们阅读/调试更有帮助。
java - GlyphVector 的视觉、逻辑和像素边界是什么?
Java 中的 GlyphVector 为整个对象返回 3 种类型的边界。
三者之间有什么区别?
文档没有回答这些问题。