<JOB>
<COMMENT>
************************************************************
■ 1) BREAKTTC.EXE をダウンロードする
■ 2) TTC であるMSゴシックとMS明朝を分解する
■ 3) TCPDF に登録する
■ 著作権その他
このプログラムはフリーです。どうぞ自由に御使用ください。
著作権は作者である私(lightbox)が保有しています。
また、本ソフトを運用した結果については、作者は一切責任を
負えせんのでご了承ください。
************************************************************
</COMMENT>
<COMMENT>
************************************************************
外部スクリプト定義
************************************************************
</COMMENT>
<SCRIPT
language="VBScript"
src="http://homepage2.nifty.com/lightbox/laylaClass.vbs">
</SCRIPT>
<SCRIPT language=VBScript>
' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://homepage2.nifty.com/lightbox/" )
Call laylaLoadFunction( "baseFunction.vbs" )
Call laylaLoadFunction( "toolFunction.vbs" )
' ***********************************************************
' 対象
' ***********************************************************
strTarget = "ttsdk.zip"
strTTCTargetMSG = "MSGOTHIC.TTC"
strTTCTargetMSM = "MSMINCHO.TTC"
' PHP で使用する時のパス
strTCPDF = "C:\user\web\tcpdf_5_5_001"
' PHP のパス
strPHP = "C:\php"
strFont1 = "msgothic"
strFont2 = "msgothicp"
strFont3 = "msgothicui"
strFont4 = "msmincho"
strFont5 = "msminchop"
' ***********************************************************
' Cscript.exe の実行
' ***********************************************************
Crun2 80
if not OkCancel( "BREAKTTC.EXE をダウンロードして .TTC を TTF に分解する処理を実行してもよろしいですか?" ) then
Wscript.Quit
end if
' ***********************************************************
' ダウンロードする URL
' ***********************************************************
strDownloadPlace = "http://www.xlsoft.com/jp/products/indigorose/files/" & strTarget
ret = HTTPDownload( strDownloadPlace, TempDir & "\" & strTarget )
if not ret then
Wscript.Echo ErrorMessage
Wscript.Quit
end if
Wscript.Echo strDownloadPlace & " をダウンロードしました"
' ***********************************************************
' 解凍ソフトのダウンロード
' ***********************************************************
strDownloadPlace = "http://homepage2.nifty.com/lightbox/Lhasa.exe"
ret = HTTPDownload( strDownloadPlace, TempDir & "\Lhasa.exe" )
if not ret then
Wscript.Echo ErrorMessage
Wscript.Quit
end if
Wscript.Echo strDownloadPlace & " をダウンロードしました"
' ***********************************************************
' 解凍
' ***********************************************************
strCommand = Dd( TempDir & "\Lhasa.exe" ) & " -d- -a -q -f -e- " & Dd(TempDir & "\" & strTarget )
RunSync(strCommand)
' ***********************************************************
' フォント分解
' ***********************************************************
strFontsDir = GetSpecialFolder("Fonts")
strExe = Dd(TempDir & "\ttsdk\TTC\BREAKTTC.EXE")
GetFso
GetWshShell
strCurrentDirectory = WshShell.CurrentDirectory
on error resume next
Fso.CreateFolder("FONT1")
Fso.CreateFolder("FONT2")
on error goto 0
WshShell.CurrentDirectory = strCurrentDirectory & "\FONT1"
strFont = Dd(strFontsDir & "\" & strTTCTargetMSG)
strCommand = strExe & " " & strFont
Wscript.Echo "フォント分解を開始します"
RunSync2(strCommand)
Wscript.Echo "フォント分解を終了しました"
WshShell.CurrentDirectory = strCurrentDirectory & "\FONT2"
strFont = Dd(strFontsDir & "\" & strTTCTargetMSM)
strCommand = strExe & " " & strFont
Wscript.Echo "フォント分解を開始します"
RunSync2(strCommand)
Wscript.Echo "フォント分解を終了しました"
WshShell.CurrentDirectory = strCurrentDirectory
' ***********************************************************
' フォント名を小文字に
' ***********************************************************
on error resume next
Set objFile = Fso.GetFile( strCurrentDirectory & "\FONT1\FONT00.TTF" )
objFile.Name = strFont1 & ".ttf"
Set objFile = Fso.GetFile( strCurrentDirectory & "\FONT1\FONT01.TTF" )
objFile.Name = strFont2 & ".ttf"
Set objFile = Fso.GetFile( strCurrentDirectory & "\FONT1\FONT02.TTF" )
objFile.Name = strFont3 & ".ttf"
Set objFile = Fso.GetFile( strCurrentDirectory & "\FONT2\FONT00.TTF" )
objFile.Name = strFont4 & ".ttf"
Set objFile = Fso.GetFile( strCurrentDirectory & "\FONT2\FONT01.TTF" )
objFile.Name = strFont5 & ".ttf"
on error goto 0
' ***********************************************************
' UFM 作成
' ***********************************************************
Call CreateUfm( "FONT1", strFont1 )
Call CreateUfm( "FONT1", strFont2 )
Call CreateUfm( "FONT1", strFont3 )
Call CreateUfm( "FONT2", strFont4 )
Call CreateUfm( "FONT2", strFont5 )
' ***********************************************************
' 編集
' ***********************************************************
EditPhp( strFont1 )
EditPhp( strFont2 )
EditPhp( strFont3 )
EditPhp( strFont4 )
EditPhp( strFont5 )
' ***********************************************************
' 処理終了
' ***********************************************************
MsgOk( "処理が終了しました " )
' ***********************************************************
'
' ***********************************************************
Function CreateUfm( strDir, str )
strCommand = Dd(strTCPDF & "\tcpdf\fonts\utils\ttf2ufm.exe") & " -a -F " & Dd(strCurrentDirectory & "\" & strDir & "\" & str & ".ttf")
RunSync(strCommand)
strCommand = Dd(strPHP & "\php.exe") & " " & Dd(strTCPDF & _
"\tcpdf\fonts\utils\makefont.php") & _
" " & Dd(strCurrentDirectory & "\" & strDir & "\" & str & ".ttf") & _
" " & Dd(strCurrentDirectory & "\" & strDir & "\" & str & ".ufm") & " 0"
RunSync(strCommand)
End Function
Function EditPhp( str )
Set regEx = New RegExp
regEx.Pattern = "TrueTypeUnicode"
regEx.IgnoreCase = True
strFontPhp = GetTextFile(str & ".php")
strFontPhp = regEx.Replace(strFontPhp, "cidfont0")
regEx.Pattern = "\$dw=.+?;"
strFontPhp = regEx.Replace(strFontPhp, "$dw=1000;")
regEx.Pattern = "\$enc=.+?;"
strFontPhp = regEx.Replace(strFontPhp, "$enc='UniJIS-UTF16-H';" & vbCrLf & _
"$cidinfo=array('Registry'=>'Adobe', 'Ordering'=>'Japan1','Supplement'=>5);" & vbCrLf & _
"include(dirname(__FILE__).'/uni2cid_aj16.php');" )
regEx.Pattern = "\$file=.+?;"
strFontPhp = regEx.Replace(strFontPhp, "")
regEx.Pattern = "\$ctg=.+?;"
strFontPhp = regEx.Replace(strFontPhp, "")
Call PutTextFile( str & ".php", strFontPhp )
Call Fso.CopyFile( str & ".php", strTCPDF & "\tcpdf\fonts\" & str & ".php", True )
End Function
</SCRIPT>
</JOB>