Archives by 2011

get_post()ではプレビューが表示されない

ごにょごにょと分岐のために、single.phpでget_post()を使って記事を取得していると、
プレビューで記事が表示されてなかった。

ので。

プレビューかどうかの分岐タグ
is_preview()を使って、プレビュー時は特に指定なく通常ループで記事を取得することで解決したメモ。

エディタでJavascriptを使う

投稿にJavascriptを記載すると、自動整形機能のためにscriptが機能してくれなくなります。
今までは、runPHPというプラグインを使って、投稿内にPHPでechoするように記載することで、
何とか解決していたのですが、複数の管理者で投稿を作成する場合に説明するのが面倒なので、
なんとかJavascriptを記載する方法がないか探していていいプラグインを見つけました。
READ MORE

Windows7で文字入力がおかしい時(@出ないなど)

Dellで先日購入したパソコン。
セットアップ中に、なんだかキーボードがおかしい。

・@が出ない。(”[”になる。)
・@あたりにある記号の入力が表示と違う。
・「半角/全角」キーで入力モードの変換ができない。

Windows7だからなのか・・・。Dellだからなのか・・・。
と思いながらグーグル先生に聞いてみると同じ症状に悩まされている方いらっしゃいました。
http://okwave.jp/qa/q5409324.html

キーボードが日本語ではなく英語キーボードとして認識されていることが原因らしい。

レジストリエディタ(regedit.txt)を起動させて
HKEY_LOCAL_MACHINE→SYSTEM→CurrentControlSet→Services→i8042prt→Parameters


OverrideKeyboardIdentifierの値を「
PCAT_106KEY」に
OverrideKeyboardSubtypeの値を「2」に変更。
再起動して万事解決しました。

エンコードできなかった時に置き換える文字を指定する

//エンコードする前にここで指定
mb_substitute_character(0x3013);
//この場合〓に変更
$str = "文字列";
$str = mb_convert_encoding($str,"sjis-win", "UTF-8");

正常にエンコードできなかった時に指定した文字に置き換えされる。
文字の指定はUnicodeの数値で指定する。
参考:Unicode対応 文字コード表
 

PDF出力にTCPDFを使う。

らPDFの出力にFPDFとMBFPDFというライブラリを利用していたが、
出力するデータの文字コードをShift-JISに変換する必要があって(UTF-8環境)、
JIS第3水準・第4水準あたりの漢字が出力できなかった。

で、人名の出力に利用していたので、困ったなということになって・・・、
UTF-8でPDFを出力できるライブラリがありました。
READ MORE

FPDFで使用するフォントを追加

PHPからPDFファイルを作成するための無料ライブラリFPDFで、
使用するフォントを追加するためのメモ。(日本語対応:MBFPDF使用)

今回は郵便振替の用紙を出力に必要だったのでOCRBフォントを追加する。

●フォントファイルを探す。(OCRB.TTF)

●TTFフォントからafmファイルを生成する。
(ttf2pt1.exeが必要です。ない場合は、下記手順でダウンロードできます。)
  1. FPDFのScriptのページから、Yann Sugereさんの「AddFont」をZIPでダウンロードして、解凍。
  2. Cドライブ直下とか、分かりやすいところ「addfont」フォルダをコピー
  3. addfontフォルダ内にフォントファイルをコピー
  4. コマンドプロンプトを起動して、addfontに移動(cd C:\addfont)
  5. ttf2pt1.exeを実行(ttf2pt1 -b OCRB.TTF OCRB)
  6. これでaddfont内にOCRB.afmが生成される。
●フォントを追加。定義ファイル(mbfpdf.php)を更新する。
(ローカルでPHPが動けばローカルで、PHPがなければサーバーにアップロードして、コマンドを実行。)
  1. fpdf/font/makefontにOCRB.afmをコピー
  2. mkttfdef.phpの13行目を変更($work = "OCRB.afm";)
  3. mkttfdef.phpを実行(php mkttfdef.php)
  4. fpdf/mbfpdf.phpにフォント名を追加(DEFINE("OCRB","OCRB");)
無事、OCRBフォントを追加して使用することができました。

FPDFを導入する際、参考にさせて頂きました。 こちらの記事も気になります。