【发布时间】:2016-04-06 04:03:55
【问题描述】:
我正在尝试使用名为 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 连字,您应该看到 符号出现在所需的垂直位置。
根据mailing list reply,我发现文档中提到的垂直定位字符的代码点是错误的。正确的代码点是 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 示例:
<!DOCTYPE html >
<html lang="de">
<head>
<meta charset="UTF-8"/>
<style>
.opentype-on {
font-family: "Bravura Text";
font-size: 40pt;
font-weight: 300;
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-font-feature-settings: "liga" 1, "dlig" 1, "kern" 1, "salt" 1;
-ms-font-feature-settings: "liga", "dlig";
-webkit-font-feature-settings: "liga", "dlig";
-o-font-feature-settings: "liga", "dlig";
font-feature-settings: "kern", "liga", "dlig", "salt";
text-rendering: optimizelegibility;
}
</style>
</head>
<body>
<div class="opentype-on">

</div>
</body>
</html>
降低符头的连字字符仍然不起作用。其他使用“fi”或“ft”连字的字体按预期工作。
我不确定,但真的应该像键入字体的特定代码点来影响下一个字符的位置一样简单吗?
是否有任何字体专家可以确认此功能可以在字体中使用?
【问题讨论】:
-
如果你想使用精确排版,使用文字处理器软件是一个非常奇怪的选择:它们对 OpenType 功能的支持很糟糕。改用排版软件,如 InDesign 或 XeLaTeX。如果您正在开发自己的软件,请确保使用支持 OpenType 功能切换的现代字体引擎。哎呀,在这一点上,即使是 CSS3 也可以比 Word 做得更好,所以你甚至可以尝试一下。
-
一些初步调查:OpenType 代码确实包含从
U+EB90 U+E0A4到一个字形的替换,该字形显示高一个位置的音符,其他音符也类似。但是,根据我使用的工具,这是在一个 unused table 中 - 而不是 Markdown 文本所说的ligaligatures 表中。 (不过我自己的字体工具可能有问题,所以我会尝试仔细检查。) -
@Mike'Pomax'Kamermans,你有效地回答了这个问题,但是以评论而不是答案的形式。作为答案,我已经扩展了您的答案。干得好。
-
@JimDeLaHunt ... 一年多后 =)
标签: fonts notation opentype ligature