我们再次执行编辑菜单下的查找命令。输入“Lisu”找到“Lisu”所对应的字段。将“FamilyNameNative:LiSu”后面的英文“LiSu”改成“隶书”。重复执行查找、修改,每执行一次更改一种字体显示。最后以原文件名“AdobeFnt11.lst”保存为只读文件。修改AdobeFnt11.lst完成后,打开TitleDesigner字幕窗口,查看字幕属性中的“字体”属性,我们可以看到中文字体名称虽然修改成了中文字体显示,但在这里却使用英文字体来显示中文字体样式,因此很难直观地判断相应的字体。这时打开“编辑”菜单下的“参数选择”下的“字幕”命令,在弹出的对话框中将字体浏览项中的“AaegZZ”修改成“字幕Zm”。修改完成后再次执行主菜单中的“字幕”菜单下的“字体”下的“浏览”命令时,我们从中看到字体的显示样式出现“字幕”二字,这样就能很直观地判断中英文的具体样式。此方法缺点:首先,在查找字体名称之前,需要知道与每个中文字体名称对应的英文名,然而,很多中文字体的英文名很难被记住;其次,每重装一次PremiereProCS3就要重新修改一次AdobeFnt11.lst文件,一般做后期编辑需要很多中文字体;再次,通常在工作过程中,要不断地新增不同的中文字体,每增加一次就必须修改一次AdobeFnt11.lst文件。因此,该方法虽然能解决PremiereProCS3显示中文字体名称与中文字体样式的问题,但非常繁琐。
1安装PremiereProCS3中文字体名称修正补丁
该方法需要在网上下载一个“PrFntFix”插件,并安装在PremiereProCS3程序安装目录下,如图4所示。该方法相对于修改AdobeFnt11.lst的方法,优点是省时省力。缺点是在时间上,字幕补丁插件总是要落后于Premiere软件发行时间两年左右;在版权方面,很多网站即使提供字幕补丁插件下载,也是要收费的;在修正程度上,很多字幕补丁并不能完全修正Premiere中文字体名称的显示。某些版本的插件需要基于.NETFramework3.5上运行;在新增中文字体方面,每新增加一次中文字体,如增加一个“文鼎中特广告体”,就必须重新运行一次“PrFntFix”插件。
2编写VisualBasic程序
安装完成PremiereProCS3中文完整版之后,在VisualBasic6中编写程序[3]。1)打开VB6创建一个新工程后移除Form1,点击工菜单程\工程\移除Form1。2)点击“工程”菜单下的“添加模块”,加入一个新的模块,将新模块命名为:PremierePatch.bas。3)在模块中输入以下程序:OptionExplicitDimDiskWAsStringDeclareFunctionGetWindowsDirectoryLib"kernel32"Alias"GetWindowsDirectoryA"(ByVallpBufferAsString,ByValnSizeAsLong)AsLongPrivateSubMain()DimWinLongAsLong,WinLocateAsString*40IfMsgBox("本程序用于更正PremiereProCS3输入汉字时字体名称与字体样式显示不正确的问题。运行吗?",vbOKCancel+vbInformation,"补丁:")=vbCancelThenEndWinLong=GetWindowsDirectory(WinLocate,40)DiskW=Left(WinLocate,2)ProcessFileMsgBox"显示中文字体名称与字体样式输入补丁完成!",vbOKOnly+vbInformation,"祝贺你:"EndSubPrivateSubProcessFile()DimTextOneAsString,TextLine(8000)AsString,iAsLong,NowStringAsString*1,jAsInteger,BLAsIntegerDiskW=DiskW+"\ProgramFiles\CommonFiles\Adobe\TypeSpt\AdobeFnt11.lst"’将一个文件以行为单位放入数组OpenDiskWForInputAs#1Input#1,TextOnej=1Fori=1ToLen(TextOne)NowString=Mid$(TextOne,i,1)IfNowString=Chr(10)Thenj=j+1ElseTextLine(j)=TextLine(j)+NowStringEndIfNextiClose#1’查找Fori=1Toj-1IfLeft(TextLine(i),11)="FamilyName:"ThenBL=iElseIfLeft(TextLine(i),8)="WinName:"ThenTextLine(BL)=Left(TextLine(BL),11)&Mid(TextLine(i),9)EndIfEndIfNextiOpenDiskWForOutputAs#1Fori=1Toj-1Print#1,TextLine(i)NextiClose#1EndSub4)点击“运行”菜单下的“启动”。运行结果如图5所示。5)运行修正AdobeFnt11.lst文件的VB程序后,再打开PremiereProCS3,在TitleDesigner字幕设计窗口,选择字符面板,效果如图6所示。优点:相对于以上两种方案,编写VB程序修正PremiereProCS3中文字体显示的方法,修正更彻底、更便捷、更经济实惠。即使下次再重装PremiereProCS3,也只要运行一次PremierePatch.bas文件,就能完全解决PremiereProCS3中文字幕显示不正确的问题。因此,编写VisualBasic程序的方法是最好的修正方法。
3结语
目前,非线性编辑爱好者们常用的修正PremiereProCS3中文字幕显示的方法有:1.修改AdobeFnt11.lst文件,该方法较易学会,但耗时、繁琐、工作量大;2.安装PrFntFix补丁,该方法操作简单,但通常很难在网络上下载到新版本的补丁,即使下载到了,安装时也要在.NETFramework3.5基础上运行。笔者认为最好的修正PremiereProCS3中文字体显示的方法是编写VisualBasic程序。只要按照上文语句编写一个VB程序,就能解决PremiereProCS3中文字体名称与中文字体样式显示不正确的问题,此法可以一劳永逸,是非线性编辑爱好者们最好的选择。
作者:张秀梅 彭新平 单位:萍乡学院