跳到主要内容

基本概念:渲染属性

渲染属性

尽管并没有特别地拿出来讲,在前面的章节中,我们已经多次用到了 Rp:Frp: 开头的行。RpRenderProps 的缩写,即“渲染属性”。

渲染属性是一些调整乐谱显示效果(包括字体、布局及样式等)的参数,是布局与字体这一章中的主角。通过使用精确的文本指令控制这些参数,就能实现对显示效果的精细调整。

渲染属性指令行的内容形如 Rp: key1=value1 key2=value2,像下面这样:

渲染属性指令并不能拆分成多个指令行。如果一行内容过长,可以使用软折行方法进行处理——当一行末尾是 \ 字符时,这个 \ 字符会被忽略,并且下一行会被当成这一行的延续。

计划

将来可能会为编辑器添加“渲染属性调节器”窗口,其中会列出所有可用的渲染属性并允许你通过图形界面进行调节。不过,所有更改仍然会反映到文本代码上,而不是被存储在文本代码以外的其他地方。

常见错误

与音乐属性类似,渲染属性行的内容是按照空格分割的,因此,单个属性内不能有空格。例如 grayout=true 不能写成 grayout = true

渲染属性的位置

渲染属性可以出现在三种位置上。

  • 与全局音乐属性 P: 相同的位置,以 Rp: 开头,表示作用于全局的渲染属性。page 属性只能在这里生效。
  • 与章节音乐属性 Sp: 相同的位置,以 Srp: 开头,表示作用于章节的渲染属性。与音乐属性不同,章节渲染属性可以应用于文本章节上。
  • 写在碎片开头,以 Frp: 开头,表示作用于碎片的渲染属性。
注意

一般情况下 Frp: 中的属性是无效的,因此正常情况下不要使用。其唯一的用处会在后文提到。

所有渲染属性

这里是一份所有渲染属性的完整列表。

名称类型说明默认值
pagepage页面高度与宽度之比0
double_sidedboolean分页时假设双面打印false
nnumber每行小节数4
time_liningboolean基于时值的小节宽度false
legacy_positioning
最低版本:Sparks NMN 1.14.20
boolean使用旧版布局算法false
debugboolean显示错误警告true
sectionorder"paren"|"bracket"|"plain"|"none"小节线序号模式paren
scalenumber文档缩放1
gutter_leftnumber(1)左边距 - 曲谱1
connector_leftnumber(0)左边距 - 连谱号0
left_separatornumber显示行首的小节线false
grayoutboolean降低延长连音音符的不透明度false
explicitmarkersboolean总是显示声部标签true
font_sectionorder
最低版本:Sparks NMN 1.15.1
font字体 - 小节序号CommonLight/400
font_partfont字体 - 声部标签Roman,CommonSerif/700
font_articlefont字体 - 章节标题Roman,CommonSerif/700
font_titlefont字体 - 大标题Roman,CommonSerif/700
font_subtitlefont字体 - 副标题CommonSerif/400
font_authorfont字体 - 作者CommonSerif/400
font_cornerfont字体 - 角落标记CommonLight/400
font_textfont字体 - 文本章节Roman,CommonSerif/400
font_footnotefont字体 - 尾注CommonSerif/400
font_descendfont字体 - 页脚CommonLight/400
font_attrfont字体 - 属性文本CommonSerif/400
font_forcefont字体 - 力度RomanItalic,CommonBlack/400
font_chordfont字体 - 和弦Roman/600
font_annotation0font字体 - 默认自定义标记CommonSerif/600
font_annotation1font字体 - 第一自定义标记CommonSerif/600
font_annotation2font字体 - 第二自定义标记CommonSerif/600
font_annotation3font字体 - 第三自定义标记CommonSerif/600
font_annotation4font字体 - 第四自定义标记CommonSerif/600
font_annotation5font字体 - 第五自定义标记CommonSerif/600
font_annotation6font字体 - 第六自定义标记CommonSerif/600
font_lyricsfont字体 - 歌词Roman,CommonSerif/600
font_checkpointfont字体 - 段落标记Roman,CommonSerif/700
margin_after_propsnumber(2)间距 - 大标题之后2
margin_after_articlenumber(1.5)间距 - 章节之后1.5
margin_after_headernumber(0.8)间距 - 章节标题之后0.8
margin_after_header_textnumber(0.7)间距/额外 - 文本章节标题之后0.7
margin_before_linenumber(1.2)间距 - 乐谱行之前1.2
margin_after_linenumber(0.1)间距 - 乐谱行之后0.1
margin_between_partsnumber(2.5)间距 - 声部之间2.5
margin_after_part_notesnumber(2)间距 - 声部曲谱部分之后2
inset_before_lyricsnumber(1.3)负间距 - 声部歌词组之前1.3
margin_after_lyricsnumber(0.1)间距 - 声部歌词组之后0.1
margin_after_partnumber(1)间距 - 声部之后1
offset_lyrics_iternumber(1.5)偏移值 - 歌词行编号1.5
offset_section_boundarynumber(1)偏移值 - 小节边距1

后文中我们将一一解释它们。不必担心记不住——只要在编辑器中打出一个字母,包含这个字母的所有渲染属性都会弹出来供你选择。

接下来...

接下来,我们将先介绍一些零碎的样式选项,它们是最容易理解的。