如何使用字体写乐谱
Posted
技术标签:
【中文标题】如何使用字体写乐谱【英文标题】:How to use font to write musical sheet 【发布时间】:2020-10-17 00:02:00 【问题描述】:我正在尝试制作一个可以编写和编辑乐谱的 ios 应用程序。 我想知道如何将其可视化。 我没有在 swift 中找到任何可以使它成为可能的完整框架。
但是我找到了这个字体bravura,但是我没有找到任何使用的例子。
这是一个 OpenType 字体。
阅读documentation我应该可以通过unicode字符来决定如何改变下一个元素的位置。 但不,它似乎不起作用。起初我以为是连字的原因,因为并非所有编辑都支持它,我不是字体专家,我可能是错的。
所以我使用了 NSAttributedString 类来修改这些参数。但结果仍然不是预期的。
这是我的代码:
textView.font = UIFont(name: "Bravura-Text", size: 40)
let text = "\uE014\uEB99\uE0A4 \uE014\uEB91\uE0A4"
let attributes = [
NSAttributedString.Key.font : UIFont(name: "Bravura-Text", size: 40)!,
NSAttributedString.Key.ligature : 2
] as [NSAttributedString.Key : Any]
let attributedString = NSAttributedString(string: text, attributes: attributes)
textView.attributedText = attributedString
E014 = 显示五线谱表
EB99 = 减少两个员工职位
EB91 = 增加两个员工职位
E0A4 = 黑色符头
这是结果: result
有什么建议可以在 iOS 上使用此字体及其功能吗?
我想写一张像this one这样的乐谱。
【问题讨论】:
【参考方案1】:乐谱的布局需要更高级别的布局,而不仅仅是显示一行文本。 (类似于使用 html 作为高级布局而不仅仅是文本行的网页。)字体可以提供基本符号,并且所有基本符号都以 Unicode 编码。但是您需要一些可以读取音乐符号标记语言并布局内容的库。
您可以在https://www.w3.org/community/music-notation/ 找到您需要的资源
【讨论】:
以上是关于如何使用字体写乐谱的主要内容,如果未能解决你的问题,请参考以下文章