问题标签 [glyph-substitution]

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 回答
53 浏览

android - 如何在 Android 上使用带有字体的锚定对

背景:
字体文件中嵌入了一些高级表格,允许字形替换、组合形式和锚定对。

对于说英语的人,考虑使用 3 个字符“1”、“/”和“2”,字体会自动将它们组合成一个看起来像 ½ 的新字形

如果它不能为您正确显示,那是一个小的1/2 。

问题: 有谁知道 Android 是否支持这些高级排版表?

0 投票
1 回答
472 浏览

unicode - 如何在 Windows CE 中显示替代 CJK 字形?

我们使用“Arial Unicode MS”字体来显示中文(CJK 字形)文本。不幸的是,我们的中国客户无法识别其中一个显示的字形 (U+76f4),因为字体中的默认“样式”是日文。字体文件支持使用 GSUB 表进行字形替换。有没有办法在 Windows CE 6.0 上的 .NET 2.0 CF 中使用这种替换?

我试图更改语言环境,但没有任何运气。

0 投票
2 回答
1388 浏览

windows - 如何获取 Unicode 字符的字形 unicode 表示

Windows 使用 uniscribe 库根据位置替换阿拉伯文和印地语字符。新字形仍然具有输入字符的原始 unicode,尽管它在 Unicode 中有其专用表示 如何获取实际显示内容而不是输入内容的 Unicode。

0 投票
0 回答
415 浏览

windows - 在 Windows UNIDRV 中调试字体替换

我正在开发基于 UNIDRV 的打印机驱动程序,并且遇到了字体替换问题。UNIDRV 未使用任何设备字体。所有字体一次下载一个字形到打印机。是否有 UNIDRV 的日志,和/或有什么方法可以调试 UNIDRV,尤其是字体替换?

开发和目标机器都是Windows 7(32位)。

0 投票
1 回答
4423 浏览

html - 浏览器支持 UTF-8 符号

我想用 UTF-8 符号替换我的一个网站中的一些图像图标。似乎到目前为止,并非每个浏览器中的每种字体都支持所有 UTF-8 字符。是否有任何 UTF-8 符号可以安全地与标准浏览器字体(Verdana、Arial 等)一起使用的概述?

0 投票
3 回答
1891 浏览

javascript - 在 CSS 或 JS 中使用字体字符替换

我目前正在尝试使用此字体访问一些替代字符字形。

字体的字符子命名如下:“A.alt”、“A.alt1”、“B.alt”等,因此它们没有 unicode 可追踪。

我发现了这一点,但是当使用 Inspect Element 时,CSS-property 只返回“未知属性名称”-错误。还有其他方法可以做到这一点吗?

0 投票
0 回答
160 浏览

java - pdfbox additionalGlyphs 文件可用于添加自定义字形?

我正在尝试编辑 pdfbox 源代码以使用自定义嵌入字体读取 pdf。我的问题是:可以通过编辑文件来编辑 pdfbox 2.0 中的代码以从 AdditionalGlyphs 文件中读取我的字形,这种方法是否有效?

PS:我从未编辑甚至研究过源代码pdfbox java库。

0 投票
1 回答
1139 浏览

python - fonttools 读取 cmap 数据

背景:

使用 fonttools 我想将像“ل”(U+0644)这样的字符更改为它的初始形式“ﻟ”(U+FEDF)。我可以通过 4 个步骤完成此操作:

  1. 使用 fonttools,将字体数据保存为 xml,然后通过它解析

    font = TTFont(fontPath) font.saveXML("tempfont.xml")

  2. 在 cmap 表中找到与 U+0644 关联的名称(假设名称为“isolam”)

  3. 在 GSUB 表中找到“init”表并找到具有“isolam”的“in”属性的条目,然后读取它的“out”属性(假设它是“initlam”)

  4. 最后在 cmap 表中搜索名称“initlam”并获取代码点

这个过程非常慢,我认为这是因为 xml 文件是硬写的,然后从那里读取,而且还有很多迭代 xml 文件。

问题:

我现在尝试直接使用 TTFont 对象,而不是保存 xml 文件。但我从 cmap 读取代码点时遇到问题。

但结果似乎是胡言乱语。它很长,所以我只展示一些:

b'\x00`\x00@\x00\x05\x00\x00!\x00+\x00/\x009\x00:\x00>\x00[\x00]\x00{\x00}\x00\xab\x00\xbb \

现在我希望它返回一个字典,其中代码点作为键,名称作为值,或者可能是一个元组列表。

那么如何以可理解的格式访问 cmap 数据呢?

或者我怎样才能得到字形的名称,给定相关的代码点,反之亦然?

0 投票
0 回答
24 浏览

unicode - 有没有一种简单的方法来创建使用备用 Unicode 字形的字体

我想创建一种新字体,该字体具有用于字母的替代 Unicode 字形,以便为我的侄女和侄子创建密码。例如,我可以用纯文本 (ABC) 给他们写一封信,突出显示文本并将其切换为我的自定义字体,这样“hello world”就会变成“פछ௶௶Ꮂ ᜋᎲ᯼௶ ⵥ”。是否有捷径可寻?

0 投票
0 回答
19 浏览

fonts - 是否可以生成仅垂直的字体?

由于无法根据我的理解在 QT 中显示 vert gsub,我想知道是否可以创建仅垂直的字体。

所以本质上,任何具有 VERT 或 VRT2 的东西都会覆盖默认字形。

有什么工具可以做到这一点吗?我知道我可以为 fontforge 中的每个字形手动执行此操作,但我更喜欢自动化方式,因为手动执行会花费大量时间。