基本概念:渲染属性
渲染属性
尽管并没有特别地拿出来讲,在前面的章节中,我们已经多次用到了 Rp:
和 Frp:
开头的行。Rp
是 RenderProps
的缩写,即“渲染属性”。
渲染属性是一些调整乐谱显示效果(包括字体、布局及样式等)的参数,是布局与字体这一章中的主角。通过使用精确的文本指令控制这些参数,就能实现对显示效果的精细调整。
渲染属性指令行的内容形如 Rp: key1=value1 key2=value2
,像下面这样:
渲染属性指令并不能拆分成多个指令行。如果一行内容过长,可以使用软折行方法进行处理——当一行末尾是 \
字符时,这个 \
字符会被忽略,并且下一行会被当成这一行的延续。
计划
将来可能会为编辑器添加“渲染属性调节器”窗口,其中会列出所有可用的渲染属性并允许你通过图形界面进行调节。不过,所有更改仍然会反映到文本代码上,而不是被存储在文本代码以外的其他地方。
常见错误
与音乐属性类似,渲染属性行的内容是按照空格分割的,因此,单个属性内不能有空格。例如 grayout=true
不能写成 grayout = true
。
渲染属性的位置
渲染属性可以出现在三种位置上。
- 与全局音乐属性
P:
相同的位置,以Rp:
开头,表示作用于全局的渲染属性。page
属性只能在这里生效。 - 与章节音乐属性
Sp:
相同的位置,以Srp:
开头,表示作用于章节的渲染属性。与音乐属性不同,章节渲染属性可以应用于文本章节上。 - 写在碎片开头,以
Frp:
开头,表示作用于碎片的渲染属性。
注意
一般情况下 Frp:
中的属性是无效的,因此正常情况下不要使用。其唯一的用处会在后文提到。
所有渲染属性
这里是一份所有渲染属性的完整列表。
名称 | 类型 | 说明 | 默认值 |
---|---|---|---|
page | page | 页面高度与宽度之比 | 0 |
double_sided | boolean | 分页时假设双面打印 | false |
n | number | 每行小节数 | 4 |
time_lining | boolean | 基于时值的小节宽度 | false |
legacy_positioning 最低版本:Sparks NMN 1.14.20 | boolean | 使用旧版布局算法 | false |
debug | boolean | 显示错误警告 | true |
sectionorder | "paren"|"bracket"|"plain"|"none" | 小节线序号模式 | paren |
scale | number | 文档缩放 | 1 |
gutter_left | number | (1)左边距 - 曲谱 | 1 |
connector_left | number | (0)左边距 - 连谱号 | 0 |
left_separator | number | 显示行首的小节线 | false |
grayout | boolean | 降低延长连音音符的不透明度 | false |
explicitmarkers | boolean | 总是显示声部标签 | true |
font_sectionorder 最低版本:Sparks NMN 1.15.1 | font | 字体 - 小节序号 | CommonLight/400 |
font_part | font | 字体 - 声部标签 | Roman,CommonSerif/700 |
font_article | font | 字体 - 章节标题 | Roman,CommonSerif/700 |
font_title | font | 字体 - 大标题 | Roman,CommonSerif/700 |
font_subtitle | font | 字体 - 副标题 | CommonSerif/400 |
font_author | font | 字体 - 作者 | CommonSerif/400 |
font_corner | font | 字体 - 角落标记 | CommonLight/400 |
font_text | font | 字体 - 文本章节 | Roman,CommonSerif/400 |
font_footnote | font | 字体 - 尾注 | CommonSerif/400 |
font_descend | font | 字体 - 页脚 | CommonLight/400 |
font_attr | font | 字体 - 属性文本 | CommonSerif/400 |
font_force | font | 字体 - 力度 | RomanItalic,CommonBlack/400 |
font_chord | font | 字体 - 和弦 | Roman/600 |
font_annotation0 | font | 字体 - 默认自定义标记 | CommonSerif/600 |
font_annotation1 | font | 字体 - 第一自定义标记 | CommonSerif/600 |
font_annotation2 | font | 字体 - 第二自定义标记 | CommonSerif/600 |
font_annotation3 | font | 字体 - 第三自定义标记 | CommonSerif/600 |
font_annotation4 | font | 字体 - 第四自定义标记 | CommonSerif/600 |
font_annotation5 | font | 字体 - 第五自定义标记 | CommonSerif/600 |
font_annotation6 | font | 字体 - 第六自定义标记 | CommonSerif/600 |
font_lyrics | font | 字体 - 歌词 | Roman,CommonSerif/600 |
font_checkpoint | font | 字体 - 段落标记 | Roman,CommonSerif/700 |
margin_after_props | number | (2)间距 - 大标题之后 | 2 |
margin_after_article | number | (1.5)间距 - 章节之后 | 1.5 |
margin_after_header | number | (0.8)间距 - 章节标题之后 | 0.8 |
margin_after_header_text | number | (0.7)间距/额外 - 文本章节标题之后 | 0.7 |
margin_before_line | number | (1.2)间距 - 乐谱行之前 | 1.2 |
margin_after_line | number | (0.1)间距 - 乐谱行之后 | 0.1 |
margin_between_parts | number | (2.5)间距 - 声部之间 | 2.5 |
margin_after_part_notes | number | (2)间距 - 声部曲谱部分之后 | 2 |
inset_before_lyrics | number | (1.3)负间距 - 声部歌词组之前 | 1.3 |
margin_after_lyrics | number | (0.1)间距 - 声部歌词组之后 | 0.1 |
margin_after_part | number | (1)间距 - 声部之后 | 1 |
offset_lyrics_iter | number | (1.5)偏移值 - 歌词行编号 | 1.5 |
offset_section_boundary | number | (1)偏移值 - 小节边距 | 1 |
后文中我们将一一解释它们。不必担心记不住——只要在编辑器中打出一个字母,包含这个字母的所有渲染属性都会弹出来供你选择。
接下来...
接下来,我们将先介绍一些零碎的样式选项,它们是最容易理解的。