问题标签 [ligature]

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 投票
2 回答
271 浏览

unicode - 上面带有 e 的 a 的 unicode 字符

德语中的字母ä、ö、ü 是用各自的元音写成的(例如,在古腾堡的圣经中),它们的正上方印有一个很小的e。这些字符在 Unicode 中可用吗?它们看起来像:

如果它们在 Unicode 中不能作为单个字形使用,也许它们可以使用 Unicode 控制字符“生成”?例如,我想使用 Unicode 字符 1d49(“MODIFIER LETTER SMALL E”),但字形没有出现在前一个元音上方,而是出现在其右上角。

0 投票
1 回答
610 浏览

c# - C#/Python 编码区别

基本上,我正在将 PDF 转换为文本,然后使用 Python 中的库分析和剪切部分文本。Python“剪辑”实际上并没有将文本切割成单独的文件,它只是具有用于字符串提取的开始字符和结束字符位置。例如:

我的 python 代码可能会通过指定 4 、 9 来“快速”删除。然后我将 C# 用于 GUI 程序并尝试采用 Python 分配的这些值,并且它可以工作......在大多数情况下。将 pdf 转换为文本文件的光学字符识别程序似乎包含一些奇怪的 UTF 字符,这将改变 C# 端的计数。

PDF-txt 转换奇数字符字符包括“fi”字符,而不是“f”和“i”字符(可能还有其他字符,它们是大文件。)现在这不是问题,除了 C# 说这是一个字符,Python(以及 Notepad++)考虑这 3 个字符位置。

C#:“fi”长度 = 1 个字符。

Python/Notepad++:“fi”长度 = 3 个字符。

由于字符数的不同,这最终给了我一个偏移剪辑。就像我在 python (linux) 中运行它并尝试输出其完美的剪辑时所说的那样,然后我将文本文件传输到 Windows 和 Notepad++ 确认它们是正确的位置。C# 实际上只是将“fi”计为一个字符,而 Notepad++ 以及 Python 出于某种原因将其计为 3 个字符。

我需要一种方法来弥合 Python 端或 C# 端的这种差异。

0 投票
2 回答
2935 浏览

css - Chrome 中的连字:仅在添加其他字符时显示

我用icomoon创建了一个字体

我想使用连字。目前我所有的连字在连字代码中都有连字符。例如:我的连字

在此处输入图像描述

所以当我使用

它在 Firefox 和 IE 中可以正常工作,但在 Chrome 中却不行。当我添加一个   或任何其他角色

它也适用于 Chrome。

一旦我用下划线之类的其他东西替换连字代码中的连字符,它就会按预期在 Chrome 中工作(不需要空格等)

这是 Chrome 错误还是此处不允许使用连字符?

你会在这里找到整个事情的演示(使用标准 icomoon 图标制作) http://www.swisscocktailblog.ch/icomoon/demo.html

编辑:根据要求提供连字的 css(这是演示中使用的 css)

0 投票
0 回答
250 浏览

scala - pdfbox - 如何在呈现的 pdf 中将字形加入连字

我有一个 pdfbox 2.0.0 应用程序将阿拉伯语和泰米尔语等语言的 unicode 渲染为 pdf。

我希望我的应用程序的行为方式与浏览器和编辑器相同,因为它将相邻字符连接成连字。目前,当我运行这种 Scala 代码时,我的 pdf 上生成的字形都是分开的:

产量:

glyphs_separated

如果我能得到这样的东西会很好:

glyphs_joined

pdfbox有可能吗?任何关于字体如何做到这一点的见解都是有价值的,因为我仍然是理解字体的初学者。

我不知道这是否相关,但我的应用程序目前处理从右到左文本的渲染,基本上是反转文本,然后showText像使用从左到右的语言一样从左侧渲染它。我不知道字符的自然顺序是否会影响连字的形成。Pdfbox 似乎没有从右到左的showText.

我正在使用2.0.0-SNAPSHOT来自https://repository.apache.org/content/groups/snapshots/的 pdfbox 。

提前致谢。

0 投票
2 回答
3677 浏览

fonts - 如何使用音乐字体 Bravura Text?

我正在尝试使用一种名为Bravura Text的 Open Type 音乐字体。我想在我目前正在开发的应用程序中使用该字体。

我对 Bravura Text 的功能做了一些研究,字体的文档指出,可以写笔记并调整它们在五线谱上的垂直位置。有特殊字符可以提高/降低五线谱上的音符头来代表不同的音调。

我尝试在 Word 2013、Open Office Writer 和 Libre Office Writer 等文本应用程序中使用这些功能。但我没有设法提高/降低符头。我所能看到的只是默认位置的音符头,即音调 B(在 5 行五线谱的中间线)。

文档文件bravura-text.md说明了如何调整垂直位置:

Bravura Text 使用 OpenType 连字来修改符号的默认垂直位置。在 OpenType 字体中,连字是一种字形替换,其中两个或多个字形被另一个字形替换。这通常用于文本字体,为特定的字母组合产生优雅的外观,例如“fi”或“fl”。

在 Bravura Text 中,连字用于调整单个符号的垂直位置。首先,输入与要更改垂直位置的量相对应的代码点,然后输入符号本身的代码点。如果您使用的应用程序支持 OpenType 连字,您应该会看到符号出现在所需的垂直位置。

根据邮件列表回复,我发现文档中提到的垂直定位字符的代码点是错误的。正确的代码点是 U+EB90–U+EB9F。

在我的示例中,我使用了邮件列表答案中提到的正确代码点。我将 Word 2013 配置为启用连字并输入以下代码点: U+E014 U+EB9E U+E0A4

  • U+E014 ("staff5Lines") 用于显示 5 行五线谱
  • U+EB9E ("staffPosLower7") 用于降低音符头 7 个半音。
  • U+E0A4 ("noteheadBlack") 用于在降低的五线谱位置显示符头

我认为这就是文档中关于输入调整垂直位置的注释的内容,但这在我的文本应用程序中不起作用。我所看到的只是中间五线谱上代表音符 B 的符头。

那里有任何 Open Type 字体专家,谁能帮助我使用这种字体?我错过了什么吗?如何以正确的方式输入这些连字?

我在他们的邮件列表中写了一个问题,但还没有收到答案。

我尝试在 Firefox 和 Chrome 中使用该字体,并启用了连字、字距调整和其他一些 OpenType 功能。这是简短的 HTML 示例:

降低符头的连字字符仍然不起作用。其他使用“fi”或“ft”连字的字体按预期工作。

我不确定,但它真的应该像键入字体的特定代码点来影响下一个字符的位置一样简单吗?

是否有任何字体专家可以确认此功能可以在字体中使用?

0 投票
1 回答
336 浏览

java - LIGATURES 如何在 java/awt/font/TextAttribute 中工作?

0 投票
3 回答
14293 浏览

css - CSS:在所有浏览器中禁用字体连字

由于谷歌字体在中国被封锁,我不得不下载它们并使用 FontSquirrel 进行转换。

问题:fi/ff/etc 很难看

我在此处通过 CSS 完成了所有步骤防止 Safari (Mavericks/iOS7) 中的连字,但没有雪茄。

如何一次禁用连字? -webkit-font-variant-ligatures: no-common-ligatures; 不工作

0 投票
0 回答
61 浏览

css - Blogger 不显示连字

我已经使用font-feature-settingsand启用了连字(添加了所有特定于浏览器的行,font-variant-ligatures-moz-、和),但连字不会显示在 Blogger 中。我尝试将 CSS 从 html 移动到 body,但这没有区别。字体正确导入,¹并且看起来很棒,但缺少最后的润色。作为参考,博客的地址是mdvuit.blogspot.com,我在 Win10 x64 和 Chrome 52.0.2743.116 m (64-bit) 上查看它。-ms--webkit--o-

这是用于启用连字的我的htmlbody行(连接,仅显示没有浏览器前缀的行):

另外,我是否在liga(等)之后添加 1 是否重要?即:"liga" 1"clig" 1而不是如上所示。

如果需要更多信息,请告诉我。

¹ 使用@import 'https://fonts.googleapis.com/css?family=Alegreya+SC:400,400i,700,700i,900,900i|Alegreya+Sans+SC:100,100i,500,500i,800,800i|Alegreya+Sans:100,100i,500,500i,800,800i|Alegreya:400,400i,700,700i,900,900i|Cutive+Mono&subset=latin-ext';

0 投票
0 回答
108 浏览

android - Android Paint.breakText 不适用于 KitKat

对于像"View profile" AndroidPaint.breakText在 KitKat 上)这样的字符串,返回 11 个字符而不是 12 个字符。

它必须返回 12 个字符numberofchars,而不是 11 个。看起来这是因为"View profile"中的"fi " 。

0 投票
1 回答
861 浏览

intellij-idea - JetBrains Idea 自定义连字

我已经设法在一些字体编辑软件(如birdfont)中创建了一些连字。但是,在我将字体安装到 Windows 并加载 PhpStorm 后,我使用我创建的连字选择我的字体,但 PhpStorm 似乎无法显示它们。

我的问题是,我可以为字母序列制作连字f u n c t i o nc l a s s?这些是 FiraCode 中不包含的非标准连字,但我真的希望能够为这些序列制作连字,我已经在外部制作了它们,但是如何让 PhpStorm 或任何 JetBrains 软件识别它们?