admin 管理员组

文章数量: 887021


2024年1月4日发(作者:智能ai企业整站源码)

内容:一.概述二.文件各个部分解析三.各种类型的行四.[ScriptInfo]部分的标题行五.[v4+Styles]部分的风格行Style六.[Events]事件部分的对话行Dialogue七.[Events]事件部分的注解行Comment八.[Events]事件部分的图片行Picture九.[Events]事件部分的声音行Sound十.[Events]事件部分的影片行Movie十一.[Events]事件部分的命令行Command附A.风格覆盖代码(Tags,Codes)附B.内嵌的字体/图片编码注:1)此文档是对原SSA文件规格英文文档进行翻译和补充而成,原文件可从以下链接获得:/projects/asa/另外参考了以下资料:/docs/ASS_Tags/wiki/SubStation_Alpha2)表述编写格式时,用到的符号说明如下:<..>参数[..]可选项3)除附A以外,用红色字体标明ASS相对于SSA格式的新增功能或者改动4)用蓝色,加粗,下划线等符号表明需要注意的地方.一.概述SSA全称SubStationAlpha,是由CSLow(又称Kotus)创建的一种字幕格式,用以实现比传统字幕诸如srt等格式更为复杂的功能.SSA目前的版本为同时也是一款软件的名称,专用于创建和编辑SSA格式的字幕.ASS是一种比SSA更为高级的字幕格式,全称AdvancedSubStationAlpha,实质是SSAv4.00+版本.它拥有比SSA更多的功能.4.00与之前的SSA版本格式不同.v4可以阅读和加载以前版本的格式,但之前版本不支持v4以上的编写格式.换句话说,SSA从v4版本开始可以阅读它认识的命令而忽略不认识的命令,从而可以向下兼容,也可以向上兼容.2.文件为普通的DOS文本格式.也就是说它可以用记事本打开编辑,同时需要注意编写出错时有可能导致无法预料的结果.3.文件编写时所划分的各部分,从形式上来说类似于ini文件,但它并非真正的ini文件

4.各部分中的绝大多行都以一说明性的文字加上冒号来开头,指明该行包含哪一些信息.5.每一行中的信息都以逗号分隔.因此风格名和人物角色名中要求不能出现逗号.6.事件部分([Events])里的各行可以不分先后.也就是说人物对白行可以不按时间顺序排列7.不正确的行会被忽略.同时会给出警告指出被忽略的行数8.一行里包含了完整的信息,必须在一行内写完,不能分成多行9.当文件中引用了一个未知的风格名(style)时,加载时会用默认的风格来替代(Default)10.当一个风格(Style)中引用了系统中没有安装的字体,则会用Arial字体来代替.二.文件各部分解析[ScriptInfo]这一部分包含了文件内容的标题和总体信息.[ScriptInfo]这一行必须是v4版本文件的第一行[v4Styles]字幕正文使用的风格都在这一部分做出相关定义.注:ASS使用的是[v4+Styles][Events]这部分包含所有的事件,有字幕,评论,图片,声音,影片和命令.基本上屏幕中出现的所有内容都集中在这一部分.[Fonts]如果想把字体内嵌入字幕文件,那么字体文件须采用数字编码后放在这一部分.只有truetyle字体才能内嵌入SSA/ASS文件每一个内嵌字体文件以一行开头,格式如下:fontname:<文件名>开头的"fontname"必须全部用小写,如果大写会让ASS文件视其为文件编码的一部分.<文件名>是SSA文件保存字体时使用的文件名,命名规则如下:truetype字体原来的字体名称加一条下划线如果是粗体则加一个"B"如果是斜休则加一个"I"加一个数字表明字体编码(字符集)最后加上".ttf"例如:fontname:comic_在这一行之后是一些可打印的字符组成的行,代表组成这个字体的二进制字符,除了最后一行可能短些,其余每行有80个字符.从二进制转换到字符用的是UUE-encoding的编码方式,编码的详细信息参见附B[Graphics]如果选择内嵌图片,那这一部分就包含了所有用到的数字编码格式的图片文件.开头一行

的格式如下:filename:<文件名>开头的"filename"必须为小写,如果大写会被认为是文件编码的一部分.<文件名>是SSA文件保存图片时使用的文件名,它与[Events]事件部分中提及的图片名称一致.SSA会把文件中找到的任何文件保存到SSA的程序目录中的"Pictures"子目录中.例如:c:会先从文件本身中寻找这些编码好的文件,但当没有找到时会去"Pictures"这个子目录里去找.注:现在的SSA文件已经很少包含"[Pictures]"或者"[Fonts]"这两个部分.因为这些功能只被SubStationAlpha这一个程序所支持.而其它的filter(Vobsub/Vsfilter/AveryLeeSubtitlerfilter)都不支持.三.各种类型的行在这一节里简要地说明在每个部分中出现的所有行的类型和大致功能,各自具体说明参见后面的章节.;只在编写中请说明作用的行,加载字幕时不可见.Title:标题,是对字幕的描述OriginalScript:最初创建字幕的人OriginalTranslation:(可选)最初翻译对话的人OriginalEditing:(可选)最初的编辑者,一般是所有参与翻译和校对等工作的人OriginalTiming:(可选)最初的时间轴人员SynchPoint:(可选)指出从哪一个时间点开始进行字幕加载播放ScriptUpdatedBy:(可选)对原字幕对话进行编辑更新的人UpdateDetails:进行了哪些更新等具体信息ScriptType:对SSA/ASS文件的版本做说明,例如"v4.00".ASS的版本为"v4.00+"Collisions:当两条字幕重叠时,如何进行相对移动PlayResY:文件所使用的视频高度参考标准PlayResX:文件所使用的视频宽度参考标准PlayDepth:加载字幕时所使用的颜色深度Timer:对字幕加载的速度调整,数值为百分数.例如"100.0000"代表100%.ScaledBorderAndShadow:边框宽度与阴影深度是否随着视频分辨率同等比例缩放.Style:定义每条字幕所使用的风格Dialogue:指明为对话事件,即屏幕上出现的字幕Comment:指明此行是评论/解释事件,它与Dialogue,Picture,Sound,Movie或者Command事件包含相同的信息,以此来进行解释说明,但加载字幕时不会出现在屏幕Picture:指明为图片事件,即显示.bmp,.jpg,.gif,.ico或者.wmf格式的图片(注意不支持png,且filter不支持加载图片)Sound:指明为声音事件,即播放.wav格式的声音(filter不支持)Movie:指明为电影事件,即加载avi视频(filter不支持)

Command:指明为命令事件,即可在后台打开某个程序四.[ScriptInfo]部分的标题行;示分号,后面可以跟任何内容.这一行是说明性文字,加载字幕时不显注意此类型行必须要把分号放最前.老版本不是用分号而是用!:Title:标题,如果没有提供,则自动使用OriginalScript:剧本的最初作者,若没有提供则自动使用OriginalTranslation:(可选)原剧本的翻译者,若没有提供则该行不显示OriginalEditing:(可选)原剧本的编者和校对,若没有提供则该行不显示OriginalTiming:(可选)原剧本的时间轴人员,若没有提供则该行不显示SynchPoint:(可选)从哪个时间点开始加载字幕,若没有提供则该行不显示ScriptUpdatedBy:(可选)对原剧本的修改/更新人员,若没有提供则该行不显示UpdateDetails:更新的具体信息,若没有提供则该行不显示ScriptType:SSA的版本信息,ASS的版本为"v4.00+"Collisions:当字幕时间重叠时,前后字幕的堆叠方式.值为"Normal"时,后一条字幕出现在前一条字幕的上方.如果值为"Reverse"时,前一条字幕往上移动给后一条字幕让位.PlayResY:文件所使用的视频高度参考标准,如果使用Directdraw回放SSAv4会自动选择最相近的启用的设置PlayResX:文件所使用的视频宽度参考标准,如果使用Directdraw回放SSAv4会自动选择最相近的启用的设置.如果只提供了PlayResX,PlayResY其中一种,那另一种会按实际视频的像素值为准.提供的分辨率数值影响以下参数:1)所有给出的坐标(到边缘的距离,pos,move,矢量绘图等)都以此分辨率作为参照.2)所有的文字字号均按照此分辨率等比例放大缩小3)当ScaledBorderAndShadow被启用时,所有边框宽度和阴影深度都按照此分辨率与实际分辨率的比例等比例缩放4)这个分辨率不影响最终显示文字的宽高比,但影响矢量绘画图形的宽高比.PlayDepth:加载字幕时使用的色深(颜色的数目),如果使用Directdraw回放SSAv4会自动选择最相近的启用的设置Timer:字幕加载的速度调整,数值为百分数.例如"100.0000"代表100%.其数值有4位小数点.它相当于对ASS字幕的时间速度进行乘法运算.当速度大于100%时,总时间会缩短,而相应的字幕会越来越靠前.当速度小于100%时,总时间会延长,而相应的字幕会越来越靠后.WrapStyle:定义默认的换行方式,0:智能换行,行分得较平均,上面的行较长

1:一行结束后从行尾的词分行2:不换行.此模式下只有n,N才换行3:与模式0相同,但下面的行分得比较长ScaledBorderAndShadow:指定边框宽度与阴影深度是否随着视频分辨率等比例缩放.可为Yes,No.默认为No.当取值为No时,边框宽度与阴影深度完全按照指定的像素数显示.当取值为Yes时,边框宽度与阴影深度随着实际视频的分辨率同等比例缩放.五.[v4+Styles]部分的风格行StyleStyle定义了字幕的样式和位置.所有的Style都在单独的Style里进行定义.除了阴影/边框的类型和深度,其余所有的风格设置都可以由字幕文本中的覆写代码所替代.在定义风格之前先要有一行"Format:"来定义风格中每一个字段所代表的含义,这些字段名称必须拼写准确,顺序可以打乱,字段名表示如下:Name,Fontname,Fontsize,PrimaryColour,SecondaryColour,TertiaryColour,BackColour,Bold,Italic,Underline,StrikeOut,ScaleX,ScaleY,Spacing,Angle,BorderStyle,Outline,Shadow,Alignment,MarginL,MarginR,MarginV,AlphaLevel,Encoding字段1:Name.风格(Style)的名称.区分大小写.不能包含逗号.字段2:Fontname.使用的字体名称,区分大小写.字段3:Fontsize.字体的字号字段4:PrimaryColour.设置主要颜色,为蓝-绿-红三色的十六进制代码相排列,BBGGRR.为字幕填充颜色字段5:SecondaryColour.设置次要颜色,为蓝-绿-红三色的十六进制代码相排列,BBGGRR.在卡拉OK效果中由次要颜色变为主要颜色.字段6:TertiaryColour(ASS中的名称为OutlineColor),设置轮廓颜色,为蓝-绿-红三色的十六进制代码相排列,BBGGRR.字段7:BackColour,设置阴影颜色,为蓝-绿-红三色的十六进制代码相排列,BBGGRR.字段4-7:ASS的这些字段还包含了alpha通道信息.(AABBGGRR),注ASS的颜色代码要在前面加上&H字段8:Bold.-1为粗体,0为常规字段9:Italic.-1为斜体,0为常规字段9.1:Underline.[-1或者0]下划线字段9.2:Strikeout.[-1或者0]中划线/删除线字段9.3:ScaleX.修改文字的宽度.为百分数字段9.4:ScaleY.修改文字的高度.为百分数字段9.5:Spacing.文字间的额外间隙.为像素数字段9.6:Angle.按Z轴进行旋转的度数,原点由alignment进行了定义.可以为小数字段10:BorderStyle.1=边框+阴影,3=纯色背景.当值为3时,文字下方为轮廓颜色的背

景,最下方为阴影颜色背景.字段11:Outline.当BorderStyle为1时,该值定义文字轮廓宽度,为像素数,常见有0,1,2,3,4.字段12:Shadow.当BorderStyle为1时,该值定义阴影的深度,为像素数,常见有0,1,2,3,4.字段13:Alignment.定义字幕的位置.字幕在下方时,1=左对齐,2=居中,3=右对齐.1,2,3加上4后字幕出现在屏幕上方.1,2,3加上8后字幕出现在屏幕中间.例:11=屏幕中间右对齐.字段13:Alignment.对于ASS字幕而言,字幕的位置与小键盘数字对应的位置相同.字段14:MarginL.字幕可出现区域与左边缘的距离,为像素数字段15:MarginR.字幕可出现区域与右边缘的距离,为像素数字段16:MarginV.垂直距离对于处在下方的字幕,此值是字幕到底端的像素数对于处在屏幕上方的字幕,此值为字幕到顶端的像素数.对于处在屏幕中间的字幕,此值被忽略.字段17:字幕用来定义透明度字段17:AAS没有该字段.字段18:Encoding.指明字体的字符集或编码方式.如0为英文,134为简体中文,136为繁体中文.当文件为非UNICODE类型编码时,该值对字幕的显示起作用.六.[Events]部分的对话行DialogueDialogue类型的行(对话行)包括字幕对白,时间轴信息,以及对白的显示方式.在对话行出现前必须有一条格式行Format:来对逗号分隔的每个字段进行定义,该格式行中的每一个字段必须拼写准确,内容如下:Marked,Start,End,Style,Name,MarginL,MarginR,MarginV,Effect,Text最后的一个字段永远都是对白文字的字段,因此可以包含逗号.前面的字段顺序可以改变.字段1:Marked.值为0表示该行为"未标识"行,值为1表示该行为"标识"行字段1:的这个字段名是Layer(图层),可以为任意的整数.图层不同的两条位置/时间有重叠的字幕不被视为有冲突,图层号码大的字幕显示在图层号小的上方.字段2:Start.事件开始的时间,格式为0:00:00:00(时:分:秒:百分数),注意小时只有一位数字段3:End.事件结束的时间.格式为0:00:00:00(时:分:秒:百分数),注意小时只有一位数字段4:Style.该条字幕所使用的风格.风格的具体信息在[V4+Style]这一部分中进行定义字段5:Name.角色名,指出对白是由影片中哪位演员所说的.字幕加载时不显示,只为了编写时理解方便.字段6:MarginL.使用新的与左边缘的距离,为4位数字代表的像素值.0000代表使用当前Style定义的值.字段7:MarginR.使用新的与右边缘的距离,为4位数字代表的像素值.0000代表使用当前Style定义的值.字段8:MarginV.使用新的垂直距离,为4位数字代表的像素值.0000代表使用当前Style

定义的值.具体说明参见上面[v4+Style]里的说明字段9:Effect.过渡效果.可以为空值,或者为三种过渡效果之一.效果名称区分大小写,必须拼写准确.且不加任何引号:"Karaoke"是卡拉OK效果,每个字依次高亮显示.注:在ASS中该效果已经废弃不用."Scrollup;y1;y2;delay[;fadeawayheight]"滚动效果,指文字/图片向上滚动.各参数以分号分隔.y1与y2是屏幕垂直区域的像素值,位置可以互换.当这两个值都为0时则全屏幕内滚动delay可取值1-100,代表滚动速度的降低值.当其为0时滚动速度最快.“Banner;delay”横幅效果.所有文字被合并到单行,并从右至左横向移动.delay的值可由1到100,代表横幅移动速度的降低值.当其为0时移动速度最快."Scrolldown;y1;y2;delay[;fadeawayheight]"向下滚动“Banner;delay[;lefttoright;fadeawaywidth]”注意红字为ASS新增功能.lefttoright可取值0或1,为可选,默认为0(右出左进)当delay值大于0时,移动速度为(1000/delay)像素每秒(注意:AveryLee的字幕插件阅读滚动效果的顺序为:delay;y1;y2)fadeawayheight以及fadeawaywidth可令效果边缘的像素呈现透明.字段10:Text.为对白字幕区域,是最终出现在屏幕上的字幕.任何位于第9个逗号后的内容均被看作是对白字幕,所以本身可以包含逗号.在这一个字段中可以包含n,N,h这三种分行/空格代码,以及其它在大括号{}内的风格覆写控制代码.详情参看附A.七.[Events]事件部分的注解行Comment在[Events]这一部分内,以Comment:开头的行.它可以与其它类型的事件行包含一样的信息,但不会被作为字幕加载到屏幕上.它起评论/说明的作用.八.[Events]事件部分的图片行Picture在[Events]这一部分内,以Picture:开头的行.它与Dialogue行包含一样的控制信息,但是在字段10的位置指定要显示的图片完整路径与图片名称.在前面字段指定的风格被忽略,滚动效果可以运用到图片事件上.MarginL和MarginV被用来指定图片与左边缘与下边缘的像素距离.当MarginL为0000时图片水平居中显示.当MarginV为0000时,图片垂直居中.支持的图片格式有.bmp,.jpg,.gif,.ico以及.wmf格式的图片(不支持png)注意,只有SSA软件能支持加载图片事件,filter则不支持.九.[Events]事件部分的声音行Sound

在[Events]这一部分内,以Sound:开头的行.它与Dialogue行包含一样的控制信息,但是在字段10的位置指定要加载的声音文件完整路径与名称,格式为.wav.风格与距离等值被忽略,而且结束的时间值也被忽略.该声音会播放到它结束,或者播放到新的声音行加入为止.注:各filter不支持加载声音行十.[Events]事件部分的影片行Movie在[Events]这一部分内,以Movie:开头的行.它与Dialogue行包含一样的控制信息,但是在字段10的位置指定要加载的视频文件完整路径与名称,格式为.avi.风格与效果等值被忽略结束的时间值(End)指出影片画面消失的时间,但如果avi文件仍然没有结束,则其声音仍然会持续播放.MarginL和MarginV被用来指定影片与左边缘,上边缘的像素距离(与图片行不同).当MarginL为0000时视频水平居中显示.当MarginV为0000时,视频垂直居中.注:Filter不支持加载影片行当Movie与Sound行有时间重叠时,实际听到的声音以先开始的内容为准.十一.[Events]事件部分的命令行Command在[Events]这一部分内,以Command:开头的行.它与Dialogue行包含一样的控制信息,但是在字段10的位置指定要运行的程序完整路径与名称.风格,距离,效果,结束时间都被忽略.程序会运行到它结束为止,或者运行到手动关掉为止.注:Filter不支持加载命令行.SSA软件内置的一些命令可以出现在SSA文件内.因完全用不到故将英文原文引用如下:TherearealsointernalSSAcommandswhichcanappearinSSAscripts-the"SSA:Pause",“SSA:Waitfortrigger”commandevents,llbeginwith"SSA:"TheSSA:Pausecommandhasthesameeffectaspressing"P"efulasasecond"synchpoint"“SSA:Waitforaudiotrigger”commandhasthesameeffectaspressing"P"duringscriptplayback,butpausingisautomaticallycancellediftheaudioinputtothecomputerexceedsaspecified“trigger”efulasasecond"synchpoint"iotriggeringcanbeoverriddentoresumeplayback-bypressing"P".

Audiotriggering"timesout"after10minutes-Ifnoaudiopeakofsufficientmagnitudeisreceived,and"P"isnotpressedwithin10minutes-thenplaybackwillresumeanyway.附A.风格覆盖代码(Tags,Codes)风格覆写控制代码专用于[Events]这一部分的最后一个字段中,对于文字/图片风格的重新定义.除了n,N,h这三个代码之外,其余所有代码都必须放在大括号{}之内所有覆写代码都以反斜线开头多个代码可以放在一个{}内所有覆写代码作用于其后的所有文字.如果只想作用于选定的文字,则需要在选定文字的后面加一个"取消"作用的代码.但也有少数代码会自动应用于整行文字,如设定位置的代码.下面将所有代码分成一般,绘图两组来详细解释:(一)一般的代码n软性分行(回车),只在分行模式(WrapStyle)为2时有效.在其它分行模式下相当于一个空格Nh两个词在同一行)b<0或1>b1令文字变为粗体.b0强制文字不是粗体(bold)当参数大于1时,会被作为字体的重量值.(注:大多字体只有量化到2级或3级的粗度,所以很少用到这个重量值)字体重量值为100的倍数,如100为最细,400为普通,700为粗体,900为最粗i<0或1>u<0或1>s<0或1>bord<宽度>shad<深度>be<0或1>i1令文字变为斜体.i0强制文字不是斜体(italic)下划线(underline)开关中划线(删除线)开关(strikeout)指定边框宽度(border),像素数.可以为小数指定阴影深度(shadow),不能为负数模糊边缘bluredges硬性分行(回车),在任何分行模式下都有效硬性空格.它保证显示字幕时不会在它的这个空格上分行(保证左右

fn<字体名称>指定使用系统中已安装的字体,区分大小写.如果使用的字体没有安装,则会用Arial来替代(fontname).注字体名与fn间不能有空格,也没有其它的括号等fs<字号>(fontsize)fsc<百分数>缩放文字大小.指定文字是横向还是纵向缩放.<百分数>指定调整到百分之多少.同样适用于矢量图形.fsp<像素值>fr[]<度数>文字间增加额外的间隔(fontspacing),默认为0文字旋转一定的度数(fontrotation)表明文字沿着三维空间中哪个坐标轴旋转.原点由org代码来指定,否则由默认的定位点来决定(参见pos的说明)fr默认代表frz.<度数>可以为负值,可以大于360.此命令同样适用于矢量图形.fe<字符集>指定文字的编码(fontencoding).例如0为英文,134为简体中文,指定文字的大小,<字号>是一个指代高度的像素值,只能用整数.136为繁体中文.1为系统默认.注:当ASS/SSA文件本身的编码为非Unicode编码时,这个数值总影响到按哪种代码页来显示字幕.推荐保存ASS/SSA文件时选择Unicode方式的编码,例如UTF-8.这样可以忽略这个值的设置c&H&指定文字的颜色(color).是一个十六进制的RGB数值,但颜色顺序相反(蓝-绿-红).排在最前的00可以忽略不写,例如{c&HFF&}={c&H0000FF&},为纯红色1c&Hbbggrr&,2c&Hbbggrr&,3c&Hbbggrr&,4c&Hbbggrr&分别设定主要,次要,边框,阴影颜色c相当于1c,为字体本身填充颜色alpha&H&为全透明1a&Haa&,2a&Haa&,3a&Haa&,4a&Haa&分别设定主要,次要,边框,阴影颜色的透明度alpha一次性调整文字所有元素的透明度a<位置>(alignment)1,2,3代表出现在画面底端的字幕,分别为左对齐,居中,右对齐<位置>是一个数字代码,用来代表字幕出现在屏幕中的位置设定文字的透明度(alpha).是一个十六进制数值.00为全见,FF

5,6,7代表出现在画面顶端的字幕,分别为左对齐,居中,右对齐(在1,2,3基础上加了4)9,10,11代表出现在画面中间的字幕,分别为左对齐,居中,右对齐(在1,2,3基础上加了8)当一行出现多个a代码时,只有最前面的一个有效an<位置>键代表的位置一致当一行出现多个an代码时,只有最前面的一个有效注:一般情况下a,an设置字幕位置,但当有pos,move等代码时,a和an设置的是文字的定位点.k<时间长度>卡拉OK效果,高亮之前文字使用次要颜色,高亮后使用主要颜色<时间长度>代表在下一小段出现高亮效果之前的当前段高亮停留时间,值为百分之一秒的倍数k<时间长度>按照每一分隔好的小段来进行高亮显示kf或者K<时间长度>是从左至右的流畅填充高亮ko<时间长度>,与k相似,但在高亮之前文字边框也被去掉,高亮后才显示边框q<方式>定义分行方式,即WrapStyle值为0:智能分行,大致平均分行,不能完全平均时上面的行较长.值为1:行尾分行,尽管排满一整行后,再分到下一行值为2:不分行,超出长度的行会排到屏幕以外.这种方式下,n和N都可以强制分行值为3:智能分行,与方式0相似,但下面的行比较长r[<风格>](restore/reset)<风格>令其恢复到指定的风格,如果没有指定<风格>则恢复到这一行的默认风格t([<时值1>,<时值2>,][<加速度>,]<风格代码>)提供从一种风格转到另一种风格的逐渐变化的动态效果.只有部分风格代码可以用t进行动态变换:字体fsfspc1c几何形fscxfscyfrxfry其它bordshadclip取消一行中之前的所有覆写代码效果,包括动态特效.<位置>为一数字代码,代表字幕的位置,从1到9,与小键盘的数字

2c3c4calpha1a2a3a4afrzfr注:对于clip,只有矩形可以呈动态效果,矢量绘画图形无法呈动态<时值1>与<时值2>是从该行开始显示后计算的毫秒数,两时值间的时间间隔就是动态效果的运行时间(两时值无先后之分).这两个时候没有指定时相当于<时值1>=<时值2>=0.这时动态效果在整行的时间内运行<加速度>没有指定时相当于1,此时匀速变化.<加速度>在0和1之间时速度由快变慢,大于1时由慢变快.在<时值1>之前,显示内容是{t}代码之前的风格,<时值2>以后是<风格代码>所指定的风格.pos(,)设置该行显示的位置,x,y为定位点的坐标值,屏幕可见区的坐标为正值.原点(0,0)在左上角落对于不同屏幕排列的字幕,定位点的相对位置不同.an1的定位点在字幕左下角,an2的定位点在字幕正中下方,an3的定位点在字幕右下角an4的定位点在字幕正中左端,an5的定位点在字幕正中,an6的定位点在字幕正中最右端an7的定位点在字幕左上角,an8的定位点在字幕正中上方,an9的定位点在字幕右上角一行中有多个pos时以最前面的pos值为准move(,,,[,<时值1>,<时值2>])提供从一个位置到另一个位置的移动动态效果.x1,y1是定位点起始的坐标(定位点的说明参见pos代码),x2,y2是定位点结束的坐标1)未达到<时值1>时,文字位置的定位点在(x1,y1)2)在<时值1>和<时值2>之间,定位点从(x1,y1)移动到(x2,y2)3)超过<时值2>后,文字的定位点固定在(x2,y2)点.当时值1,时值2没有指明时相当于两个都是0,此时在该行的整个

时间段内匀速移动(时值的具体说明参见t代码)时值1,时值2可以大于该行的总时间段,令没有达到终点时结束移动.move只能够匀速移动,不能够加速移动一行中有多个move代码时只有排在最前面的move效果有效一行中不能同时使用{pos}和{move}代码,如果同时出现则只有排在最前面的效果有效org(,)设置旋转的原点坐标(origin),它影响一行中所有的旋转当有旋转效果的一行中没有org代码,则用于旋转的原点坐标就是默认的定位点.原点坐标可以放置在画面可见区域以外,足够远时通过旋转一个小角度可让字幕产生"穿过屏幕"的效果一行中有多个org代码时只有排在最前面的org有效注意:t,move和pos会忽略位置重叠的检测fad(<淡入时间>,<淡出时间>)提供简单的淡入淡出效果.<淡入时间>与<淡出时间>之和不能超过该行的时间长度.fade(,,,<时值1>,<时值2>,<时值3>,<时值4>)提供复杂的透明度变化效果.,,为三个不同的透明度值(alpha),取值从0到255.0全见,255全透明这个代码里的7个参数要求全部写齐,作用方式如下:1)在<时值1>之前,透明度为2)在<时值1>与<时值2>之间,透明度从变化到3)在<时值2>与<时值3>之间,透明度为固定的4)在<时值3>与<时值4>之间,透明度从变化到5)在<时值4>之后,透明度为clip(,,,)定义一个矩形框,只有在这个框里的字幕才为可见,,,为构成矩形的两个对角点clip([<等级>,]<绘图命令>)定义一个绘画图形,令这个图形内的字幕可见<绘图命令>参见第二组代码.<等级>是指定图形的缩放等级.为2的(等级-1)次方.如/clip4,2的(4-1)次方为8,即将后面的图形缩至1/8

(二)绘图代码p<等级>进入绘图模式并指定坐标的放大等级.<等级>为坐标的缩放等级,按2的(等级-1)次方计算.如/clip4,2的(4-1)次方为8,即将后面的坐标缩至1/8当<等级>=0时,关闭绘图模式.pbo定义所绘图形的基线偏移值.(baselineoffset)当y>0时,图形的所有坐标沿y轴向下移指定的像素值当y<0时,图形的所有坐标沿y轴向上移指定的像素值绘图命令:m将鼠标移至坐标(x,y),同时将现有的图形封闭(即开始画新的图形),所有绘画都以这个命令开始.nl将鼠标移至坐标(x,y),同时不封闭原有的图形从鼠标原来的坐标位置画一条直线到(x,y),并从这个点继续绘画b画一条三度贝塞尔曲线至(x3,y3),以(x1,y1),(x2,y2)作为控制点s..从现有坐标画一条"三次均匀B样条"(cubicuniformb-spline)到点(xN,yN)该命令至少要含有三个坐标点(三个坐标时等同于贝塞尔曲线)这个命令实质上是把几条贝塞尔曲线连结到一起.p标点(x,y)c结束B样条(b-spline)沿长B样条(b-spline)到点(x,y),作用相当于在s命令后多加一个坐绘图代码的注意事项:1)除了在clip(..)命令中,绘图命令必须以{p1+}开头,以{p0}结尾.("1+"指大于等于1的整数)2)所有绘图都必须以m命令开头3)所有图形都必须最终闭合4)所有没有闭合的图形会在起始点和终点之间连上一条直线来闭合5)在同一行中,若图形有重叠,则重叠部分执行异或逻辑运算(即正正得负,负负得正)6)如果相同的绘图命令在一起,则只需保留最前面命令代码,后面的坐标可以连着写

7)绘图中使用的是相对坐标系.坐标原点由当前的基线位置(pbo),当前行的排列方式决定(参见pos的定位点说明)8)命令pc只能用在B样条命令s的后面ASS之后又有更新的版本,如ASS2,ASS3等.这些在开发中没有整合出最终版本,因此没有官方的相关具体说明文件,也没有得到广泛使用.而它新增的一些代码和改动,可以为VSFilter2.39以上的版本识别和使用.虽不推荐在字幕发布中使用,但可用于压制中.边框宽度xbord<字号>ybord<字号>沿x轴和y轴分别对文字边框宽度进行调整.注:如果在一行中用了xbord,ybord后又使用bord,则会被bord覆写.阴影深度xshadyshad沿x轴和y轴分别对文字阴影深度进行调整,可以使用负值边缘模糊be<强度>按一般模糊的倍数来模糊文字边缘,<强度>必须为整数.注当强度过大时会导致文字"消失"blur<强度>与be相似,但它用的是更加高级的高斯模糊,<强度>可以为非整数.注意过高的值可能占用过多系统CPU文字倾斜fax<因数>fay<因数>沿x轴和y轴分别对文字行进行倾斜调整.<因数>可以为负数.如fax-0.5等同于斜体.(注:一般情况下因数的绝对值不要超过2)卡拉OKkt<时间长度>传统的卡拉OK模式是从左至右,依次填充音节.而kt<时间长度>重新定义了该音节开始填充的时间<时间长度>是指该音节从整行开始过了多长时间后开始填充.例如{k10}一{kt30k10}二{kt10k10}三先填充"一",过了0.1秒后"一"填充完毕,开始填充"三",又过了0.1秒"三"填充完毕,再过了0.1秒(一行开始后0.3秒)开始填充"二"动态风格t([<时值1>,<时值2>,][<加速度>,]<风格代码>)除了原有的风格,新增了以下的代码也可以使用{t}动态转变效果faxfaybeblurxbordybordxshadyshadiclip(注:对于clip和iclip,只有矩形框才能使用动态效果,绘画图形不能使

用动态效果)图形蒙板iclip(,,,)iclip([<等级>,]<绘图命令>)iclip与clip相似,所有参数与命令都一致,但效果相反,即在图形区域内的文字不可见,以外的文字可见.注:当iclip和clip出现在同一行时,所有的图形效果都会当成"iclip"处理.另注:所有的坐标值不再局限使用整数,可以使用小数.一行的开始,结束时间,以及卡拉OK的时间可以使用更加精准的时间(原SSA,ASS都只精确到0.01秒)<未验证>附B.内嵌的字体/图片编码SSA所使用的内嵌字体/图片编码是UUE-encoding的一种形式.(因极少用到,以下仅引用原文)Ittakesabinaryfile,threebytesatatime,andconvertsthe24bitsofthosebytesintofour6-bitnumbers.33isaddedtoeachofthesefournumbers,andthecorsetof33meansthatlower-casecharacterscannotappearintheencodedoutput,andthisiswhythe“filename”neofanencodedfileis80characterslong,exceptthelastone,engthofthefilebeingencodedisnotanexactmultipleof3,thenforodd-numberfilelengths,thelastbyteismultipliedbyhexadecimal100,n-numberfilelengths,thelasttwobytesaremultipliedbyhexadecimal10000,[section]startsinthescript,orifanotherfilenamelineisfound,ortheendofthescriptfileisreachedthenthefileisconsideredcomplete


本文标签: 字幕 使用 文字 文件 代码