001.
<JOB>
002.
<COMMENT>
003.
************************************************************
004.
■ 1) BREAKTTC.EXE をダウンロードする
005.
■ 2) TTC であるMSゴシックとMS明朝を分解する
006.
■ 3) TCPDF に登録する
007.
008.
■ 著作権その他
009.
010.
このプログラムはフリーです。どうぞ自由に御使用ください。
011.
著作権は作者である私(lightbox)が保有しています。
012.
また、本ソフトを運用した結果については、作者は一切責任を
013.
負えせんのでご了承ください。
014.
************************************************************
015.
</COMMENT>
016.
017.
<COMMENT>
018.
************************************************************
019.
外部スクリプト定義
020.
************************************************************
021.
</COMMENT>
022.
<SCRIPT
023.
language=
"VBScript"
024.
src=
"http://homepage2.nifty.com/lightbox/laylaClass.vbs"
>
025.
</SCRIPT>
026.
027.
<SCRIPT language=VBScript>
028.
029.
030.
031.
Call
laylaFunctionTarget(
"http://homepage2.nifty.com/lightbox/"
)
032.
Call
laylaLoadFunction(
"baseFunction.vbs"
)
033.
Call
laylaLoadFunction(
"toolFunction.vbs"
)
034.
035.
036.
037.
038.
039.
strTarget =
"ttsdk.zip"
040.
strTTCTargetMSG =
"MSGOTHIC.TTC"
041.
strTTCTargetMSM =
"MSMINCHO.TTC"
042.
043.
strTCPDF =
"C:\user\web\tcpdf_5_5_001"
044.
045.
strPHP =
"C:\php"
046.
047.
strFont1 =
"msgothic"
048.
strFont2 =
"msgothicp"
049.
strFont3 =
"msgothicui"
050.
strFont4 =
"msmincho"
051.
strFont5 =
"msminchop"
052.
053.
054.
055.
056.
Crun2 80
057.
058.
if not OkCancel(
"BREAKTTC.EXE をダウンロードして .TTC を TTF に分解する処理を実行してもよろしいですか?"
) then
059.
Wscript.Quit
060.
end if
061.
062.
063.
064.
065.
066.
strDownloadPlace =
"http://www.xlsoft.com/jp/products/indigorose/files/"
& strTarget
067.
ret = HTTPDownload( strDownloadPlace, TempDir &
"\"
& strTarget )
068.
if not ret then
069.
Wscript.Echo ErrorMessage
070.
Wscript.Quit
071.
end if
072.
073.
Wscript.Echo strDownloadPlace &
" をダウンロードしました"
074.
075.
076.
077.
078.
strDownloadPlace =
"http://homepage2.nifty.com/lightbox/Lhasa.exe"
079.
ret = HTTPDownload( strDownloadPlace, TempDir &
"\Lhasa.exe"
)
080.
if not ret then
081.
Wscript.Echo ErrorMessage
082.
Wscript.Quit
083.
end if
084.
085.
Wscript.Echo strDownloadPlace &
" をダウンロードしました"
086.
087.
088.
089.
090.
strCommand = Dd( TempDir &
"\Lhasa.exe"
) &
" -d- -a -q -f -e- "
& Dd(TempDir &
"\"
& strTarget )
091.
RunSync(strCommand)
092.
093.
094.
095.
096.
097.
strFontsDir = GetSpecialFolder(
"Fonts"
)
098.
strExe = Dd(TempDir &
"\ttsdk\TTC\BREAKTTC.EXE"
)
099.
100.
GetFso
101.
GetWshShell
102.
strCurrentDirectory = WshShell.CurrentDirectory
103.
104.
on error resume next
105.
Fso.CreateFolder(
"FONT1"
)
106.
Fso.CreateFolder(
"FONT2"
)
107.
on error goto 0
108.
109.
WshShell.CurrentDirectory = strCurrentDirectory &
"\FONT1"
110.
111.
strFont = Dd(strFontsDir &
"\"
& strTTCTargetMSG)
112.
strCommand = strExe &
" "
& strFont
113.
Wscript.Echo
"フォント分解を開始します"
114.
RunSync2(strCommand)
115.
Wscript.Echo
"フォント分解を終了しました"
116.
117.
WshShell.CurrentDirectory = strCurrentDirectory &
"\FONT2"
118.
119.
strFont = Dd(strFontsDir &
"\"
& strTTCTargetMSM)
120.
strCommand = strExe &
" "
& strFont
121.
Wscript.Echo
"フォント分解を開始します"
122.
RunSync2(strCommand)
123.
Wscript.Echo
"フォント分解を終了しました"
124.
125.
WshShell.CurrentDirectory = strCurrentDirectory
126.
127.
128.
129.
130.
131.
on error resume next
132.
Set
objFile = Fso.GetFile( strCurrentDirectory &
"\FONT1\FONT00.TTF"
)
133.
objFile.Name = strFont1 &
".ttf"
134.
Set
objFile = Fso.GetFile( strCurrentDirectory &
"\FONT1\FONT01.TTF"
)
135.
objFile.Name = strFont2 &
".ttf"
136.
Set
objFile = Fso.GetFile( strCurrentDirectory &
"\FONT1\FONT02.TTF"
)
137.
objFile.Name = strFont3 &
".ttf"
138.
139.
Set
objFile = Fso.GetFile( strCurrentDirectory &
"\FONT2\FONT00.TTF"
)
140.
objFile.Name = strFont4 &
".ttf"
141.
Set
objFile = Fso.GetFile( strCurrentDirectory &
"\FONT2\FONT01.TTF"
)
142.
objFile.Name = strFont5 &
".ttf"
143.
on error goto 0
144.
145.
146.
147.
148.
149.
150.
Call
CreateUfm(
"FONT1"
, strFont1 )
151.
Call
CreateUfm(
"FONT1"
, strFont2 )
152.
Call
CreateUfm(
"FONT1"
, strFont3 )
153.
Call
CreateUfm(
"FONT2"
, strFont4 )
154.
Call
CreateUfm(
"FONT2"
, strFont5 )
155.
156.
157.
158.
159.
160.
EditPhp( strFont1 )
161.
EditPhp( strFont2 )
162.
EditPhp( strFont3 )
163.
EditPhp( strFont4 )
164.
EditPhp( strFont5 )
165.
166.
167.
168.
169.
170.
MsgOk(
"処理が終了しました "
)
171.
172.
173.
174.
175.
176.
177.
178.
Function
CreateUfm( strDir, str )
179.
180.
strCommand = Dd(strTCPDF &
"\tcpdf\fonts\utils\ttf2ufm.exe"
) &
" -a -F "
& Dd(strCurrentDirectory &
"\" & strDir & "
\
" & str & "
.ttf")
181.
RunSync(strCommand)
182.
strCommand = Dd(strPHP &
"\php.exe"
) &
" "
& Dd(strTCPDF & _
183.
"\tcpdf\fonts\utils\makefont.php"
) & _
184.
" "
& Dd(strCurrentDirectory &
"\" & strDir & "
\
" & str & "
.ttf") & _
185.
" "
& Dd(strCurrentDirectory &
"\" & strDir & "
\
" & str & "
.ufm
") & "
0"
186.
RunSync(strCommand)
187.
188.
End
Function
189.
190.
Function
EditPhp( str )
191.
192.
Set
regEx =
New
RegExp
193.
regEx.Pattern =
"TrueTypeUnicode"
194.
regEx.IgnoreCase =
True
195.
strFontPhp = GetTextFile(str &
".php"
)
196.
strFontPhp = regEx.Replace(strFontPhp,
"cidfont0"
)
197.
198.
regEx.Pattern =
"\$dw=.+?;"
199.
strFontPhp = regEx.Replace(strFontPhp,
"$dw=1000;"
)
200.
regEx.Pattern =
"\$enc=.+?;"
201.
strFontPhp = regEx.Replace(strFontPhp,
"$enc='UniJIS-UTF16-H';"
& vbCrLf & _
202.
"$cidinfo=array('Registry'=>'Adobe', 'Ordering'=>'Japan1','Supplement'=>5);"
& vbCrLf & _
203.
"include(dirname(__FILE__).'/uni2cid_aj16.php');"
)
204.
regEx.Pattern =
"\$file=.+?;"
205.
strFontPhp = regEx.Replace(strFontPhp,
""
)
206.
regEx.Pattern =
"\$ctg=.+?;"
207.
strFontPhp = regEx.Replace(strFontPhp,
""
)
208.
Call
PutTextFile( str &
".php"
, strFontPhp )
209.
Call
Fso.CopyFile( str &
".php"
, strTCPDF &
"\tcpdf\fonts\" & str & "
.php",
True
)
210.
211.
End
Function
212.
213.
214.
</SCRIPT>
215.
216.
</JOB>