月別アーカイブ: 2014年4月

Free Pascal 2.x で日本語処理(3)

Free PascalコンパイラにソースコードのエンコーディングがUTF-8であることを認識させる方法は以下の3つがあります。

① コンパイル時に、コンパイラオプションの -FcUTF8 を指定する。
② ソースコード中にディレクティブの {$CODEPAGE UTF8} または {$CODEPAGE UTF-8}
を指定する。

③ ソースコードを BOM付きのUTF-8エンコーディングで保存する。

①~③はどれか1つで有効です。組み合わせても問題はありません。
①,②のソースコードのエンコーディングは、BOM無しのUTF-8でOKです。BOM付きのUTF-8にすると③も有効になります。

ソースコードをBOM無しのUTF-8エンコーディングで保存し、①のコンパイルオプションも②のディレクティブも指定しない場合、コンパイラはソースコードに対してUTF-8という認識はしません。

UTF-8のBOM(byte order mark)とは、ファイルの先頭3バイトに、$EF,$BB,$BF を付けたものです。③では、コンパイラがこの3バイトを認識してUTF-8と判断します。
UTF-8に対応したテキストエディタでは、ファイル作成時または保存時に、UTF-8(BOM付き)とUTF-8(BOM無し)の指定ができるはずです。もしくは、テキストエディタのオプションでBOMを付けるか付けないかの指定があるかもしりません。
BOM付きのUTF-8を「UTF-8」、BOM無しのUTF-8を「UTF-8N」と指定するエディタもあります。


先の投稿の「Free Pascal で日本語処理(1)」と「Free Pascal で日本語処理(2)」で、ソースコードをUTF-8で保存してくださいというのは、BOM無しのUTF-8エンコーディングで保存することを前提としています。その上で、UTF-8の認識を {$CODEPAGE UTF8} で切り替えるようにしています。事前説明が漏れていました。

Lazarus 1.2.2 がリリースされました。

Lazarus 1.2.2 が出ました。
http://www.lazarus.freepascal.org
Free Pascal 2.6.4 ベースになりました。(Lazarus 1.2.0はFree Pascal 2.6.2ベースです)

Win64ユーザは、Win32 + 64bitクロス環境を使用することが推奨されることは変りません。
Free Pascal 2.8.0 でWin64の問題は対応されるようです。

Lazarus 1.2.2 の Win32版とx64クロスコンパイラは以下からダウンロードできます。
http://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2032%20bits/Lazarus%201.2.2/

インストール手順や使い方は Lazarus 1.2.0 と同じです。
インストール手順は、Pascal日和ホームページにあります。1.2.0を1.2.2に読み替えて下さい。