Adobe Premiere Pro自推出以來受到了業界的廣泛好評,但Adobe公司每次開發軟件的時候都對中國這麼大一個市場考慮不夠周全。從早些年的Photoshop5.0留下的中文字體顯示Bug到Premiere6.5,到目前的Premiere Pro每次都會出現相同的Bug,即所有的中文字體在字體列表中顯示的都是拼音。如:楷體顯示的名稱為:KaiTi_GB2312。而且連Adobe After Effect等軟件也有相同的問題,真讓人郁悶。
雖然網上有用手動去修改的方法,可是如果系統重裝了,又要重新做一次,重復勞動,十分麻煩。
早些年我就分析過Photoshop補丁的解決方法,如今的Premiere Pro是同家公司做的,又是同樣的問題,會不會解決方法也相同呢?經過一番研究,找到了解決方法。下面是用VB6寫的程序。
1. 打開VB6創建一個新工程,點擊工程右上角的Form1窗體將它移除。本程序無需界面,只要兩個對話框就行了。
2. 點擊“工程”菜單下的“添加模塊”,加入一個新的模塊,給它起個名字為:PrPatch。
3. 在模塊中輸入以下程序:
Option Explicit
Dim DiskW As String
Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Sub Main()
Dim WinLong As Long, WinLocate As String * 40
If MsgBox("本程序用於更正Premiere Pro輸入漢字時字體名稱顯示不正確的問題。tw.wINgwiT.COM運行嗎?", vbOKCancel + vbInformation, "補丁:") = vbCancel Then End
WinLong = GetWindowsDirectory(WinLocate, 40)
DiskW = Left(WinLocate, 2)
ProcessFile
MsgBox "漢字輸入補丁完成!", vbOKOnly + vbInformation, "祝賀你:"
End Sub
Private Sub ProcessFile()
Dim TextOne As String, TextLine(8000) As String, i As Long, NowString As String * 1, j As Integer, BL As Integer
DiskW = DiskW & "\Program Files\Common Files\Adobe\TypeSpt\
AdobeFnt07.lst"
'將一個文件以行為單位放入數組
Open DiskW For Input As #1
Input #1, TextOne
j = 1
For i = 1 To Len(TextOne)
NowString = Mid$(TextOne, i, 1)
If NowString = Chr(10) Then
j = j + 1
Else
TextLine(j) = TextLine(j) + NowString
End If
Next i
Close #1
'查找
For i = 1 To j - 1
If Left(TextLine(i), 11) = "Fami
lyName:" Then
BL = i
Else
If Left(TextLine(i), 8) = "WinName:" Then
TextLine(BL) = Left(TextLine(BL), 11) & Mid$(TextLine(i), 9)
End If
End If
Next
Open DiskW For Output As #1
For i = 1 To j - 1
Print #1, TextLine(i)
Next
Close #1
End Sub
4. 點擊“文件”菜單下的“生成PrPatch.exe”,完成。
5.然後你就可以運行它了,運行之後再打開Premiere Pro再看看圖(如圖2),這就是運行之後的情況。本程序可以用於解決Adobe一系列軟件的共同Bug。注意程序中加底的一行,這行是本程序的重要部分。
From:http://tw.wingwit.com/Article/Software/201309/346.html