VBScript : TCPDF 用埋め込みフォント作成( 日本語フリーフォント )


  ダウンロードと概要





ブラウザでダウンロード

VBScript : TCPDFで MSフォントが使えるようにする全自動スクリプトで作成したのは、
業務で使う非埋め込みフォントですが、フリーフォントは逆に Windows に一つ一つインスト
ールするかどうかは完全に個人の範疇なので、全て埋め込みである必要があります。

以下のサービスは、フリーフォントに多少のエフェクトを付加して画像化するものですが、
PDF にするには、埋め込みフォントが必要だったので、このスクリプトで全て作成しました
※ windows で作成してからアップロードしています

Freefont_pdf
フリーフォントで簡単ロゴ作成


  実行スクリプト




非埋め込みフォントとの違いは、makefont.php の最後の引数として 0 を渡さない事と、
フォントtypeは、TrueTypeUnicode のままである事と、.z と .ctg.z ファイルを使用する
事です。

<JOB>
<COMMENT>
************************************************************
TCPDF にフォント埋め込み型としてフリーフォントをインストール

■ 1) フリーフォントを選択する
■ 2) TCPDF に登録する

■ 使用方法
   1) strTCPDF に、PHP で使用する時の TCPDF のパスをセット
   2) strPHP に php.exe があるパスをセット
   3) このスクリプトをエクスプローラから「開く」
   4) フリーフォント( ????????.ttf ) を選択

■ 著作権その他

このプログラムはフリーです。どうぞ自由に御使用ください。
著作権は作者である私(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" )


' ***********************************************************
' 対象
' ***********************************************************
' PHP で使用する時のパス
strTCPDF = "C:\user\web\tcpdf_5_5_008"
' PHP のパス
strPHP = "C:\php"

' ***********************************************************
' Cscript.exe の実行
' ***********************************************************
Crun2 80

strValue = OpenFileName3
if strValue(0) = "" then
	Wscript.Quit
end if

strFont = LCase(Fso.GetBaseName(strValue(0)))
strPath = Fso.GetParentFolderName(strValue(0)) 

if not OkCancel( strValue(0) & " を TCPDF に埋め込みフォントとして登録しますか?" ) then
	Wscript.Quit
end if


' ***********************************************************
' UFM 作成
' ***********************************************************
Call CreateUfm( strValue(0), strPath, strFont )

' ***********************************************************
' 編集
' ***********************************************************
Call EditPhp( strFont )


' ***********************************************************
' 処理終了
' ***********************************************************
MsgOk( "処理が終了しました   " )


' ***********************************************************
' インストール用外部実行関数
' ***********************************************************
Function CreateUfm( str1, str2, str3 )

	strCommand = Dd(strTCPDF & "\tcpdf\fonts\utils\ttf2ufm.exe") & " -a -F " & Dd(str1)
	RunSync(strCommand)
	strCommand = Dd(strPHP & "\php.exe") & " " & Dd(strTCPDF & _
		"\tcpdf\fonts\utils\makefont.php") & _
		" " & Dd(str1) & _
		" " & Dd(str2 & "\" & str3 & ".ufm")
	RunSync(strCommand)

End Function

Function EditPhp( str )

	Set regEx = New RegExp
	regEx.Pattern = "TrueTypeUnicode"
	regEx.IgnoreCase = True
	strFontPhp = GetTextFile(str & ".php")

	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');" )
	Call PutTextFile( str & ".php", strFontPhp )
	Call Fso.CopyFile( str & ".php", strTCPDF & "\tcpdf\fonts\" & str & ".php", True ) 
	Call Fso.CopyFile( str & ".ctg.z", strTCPDF & "\tcpdf\fonts\" & str & ".ctg.z", True ) 
	Call Fso.CopyFile( str & ".z", strTCPDF & "\tcpdf\fonts\" & str & ".z", True ) 

End Function


</SCRIPT>

</JOB>



  埋め込みフォント使用字の重要な注意事項

以下のように、インスタンス作成直後に必ず 「部分埋め込みをしない設定」にする必要があります

$pdf = new TCPDF(
	PDF_PAGE_ORIENTATION,
	PDF_UNIT,
	PDF_PAGE_FORMAT,
	true,
	"UTF-8",
	false
);
// 部分埋め込みをしない
$pdf->setFontSubsetting(false);







yahoo  google  MSDN  MSDN(us)  WinFAQ  Win Howto  tohoho  ie_DHTML  vector  wdic  辞書  天気 


[sh_web]
CCBot/2.0 (http://commoncrawl.org/faq/)
17/08/21 22:41:44
InfoBoard Version 1.00 : Language=Perl

BatchHelper COMprog CommonSpec Cprog CprogBase CprogSAMPLE CprogSTD CprogSTD2 CprogWinsock Cygwin GameScript HTML HTMLcss InstallShield InstallShieldFunc JScript JScriptSAMPLE Jsfuncs LLINK OldProg OracleGold OracleSilver PRO PRObrowser PROc PROconePOINT PROcontrol PROftpclient PROjscript PROmailer PROperl PROperlCHAT PROphp PROphpLesson PROphpLesson2 PROphpLesson3 PROphpfunction PROphpfunctionArray PROphpfunctionMisc PROphpfunctionString PROsql PROvb PROvbFunction PROvbString PROvbdbmtn PROvbonepoint PROwebapp PROwin1POINT PROwinSYSTEM PROwinYOROZU PROwindows ProjectBoard RealPHP ScriptAPP ScriptMaster VBRealtime Vsfuncs a1root access accreq adsi ajax amazon argus asp aspSample aspVarious aspdotnet aw2kinst cappvariety centura ckeyword classStyle cmaterial cmbin cmdbapp cmenum cmlang cmlistbox cmstd cmstdseed cmtxt cs daz3d db dbCommon dbaccess dnettool dos download flex2 flex3 flex4 framemtn framereq freeWorld freesoft gimp ginpro giodownload google hdml home hta htmlDom ie9svg install java javaSwing javascript jetsql jquery jsp jspTest jspVarious lightbox listasp listmsapi listmsie listmsiis listmsnt listmspatch listmsscript listmsvb listmsvc memo ms msde mysql netbeans oraPlsql oracle oracleWiper oraclehelper orafunc other panoramio pear perl personal pgdojo pgdojo_cal pgdojo_holiday pgdojo_idx pgdojo_ref pgdojo_req php phpVarious phpguide plsql postgres ps r205 realC realwebapp regex rgaki ruby rule sboard sc scprint scquest sdb sdbquest seesaa setup sh_Imagick sh_canvas sh_dotnet sh_google sh_tool sh_web shadowbox shgm shjquery shvbs shweb sjscript skadai skywalker smalltech sperl sqlq src systemdoc tcpip tegaki three toolbox twitter typeface usb useXML vb vbdb vbsfunc vbsguide vbsrc vpc wcsignup webanymind webappgen webclass webparts webtool webwsh win8 winofsql wmi work wp youtube