.NET Micro Frameworkデバイスに日本語フォントを埋め込む

.NET Micro Frameworkデバイスに日本語フォントを埋め込む

.NET Micro FrameworkのWindowsアプリケーションプロジェクトを作成して出来上がるサンプルプロジェクトには、small.tinyfntという小さなフォントが入っています。このフォントには日本語のデータが入ってはいないので、平仮名やカタカナ、漢字を表示しようとすると文字化けしてしまいます。

日本語を表示したい場合は、以下の手順で.NET MFデバイスに埋め込むフォントデータを作る必要があります。

  1. 埋め込みたいフォントのUnicode上のコードを調べる
  2. .NET MFデバイスに埋め込むフォントデータを作る為の定義ファイルを作成する
  3. 定義ファイル、True Type Fontからデバイスに埋め込むフォントデータを作り出す
  4. .NET MFアプリプロジェクトにフォントデータを組込む

先ず1番目、スタートボタンをクリックし、”プログラムとファイルの検索”に”charmap"と入力し、検索されたアイコンを起動します。文字コード表が起動されるので、組込みたい文字のコードを調べます。例えば平仮名の場合は、0x3041~0x3096です。十進法では、12353~12438です。

次に定義ファイルを作ります。詳細は、http://msdn.microsoft.com/en-us/library/ee436564.aspx を参考にしてもらうとして、Meiryoフォントの平仮名を組込むとして、c:¥Windows¥Fontsからmeiryo.ttcをどこか適当な場所にコピーします。(以下の例では、.NET Micro Framework 4.2のインストールフォルダーのTools¥Fonts¥True Typeにコピーしている)

※Windows¥FontsフォルダーのMeiryo UIをダブルクリックして開き、Meiryo UI標準をコピペします。

以下のような定義ファイルをmeiryo.fntdefという名前で作成します。

AddFontToProcess "C:\\Program Files (x86)\\Microsoft .NET Micro Framework\\v4.2\\Tools\\Fonts\\TrueType\\meiryo.ttc"
SelectFont "WE:400,FN:Meiryo UI"
ImportRange 12353 12438

このファイルの3行目が平仮名を指定しているところです。

コマンドプロンプトを起動して、.NET Micro Frameworkのインストールディレクトリの下のToolsにcdします。そして、以下のコマンドを実行します。

> tfconvert.exe "Fonts\TrueType\meiryo.fntdef" "Fonts\TrueType\meiryohiragana.tinyfnt"

※fntdefファイルはtfconvert.exeファイルが存在するフォルダーの下のFonts\TrueTypeフォルダーに置いたものとします。

これで、meiryohiragana.tinyfntというMeiryoフォントで平仮名のデータが入ったファイルが出来上がります。

.NET MFプロジェクトに組込むには、このtinyfntファイルを、プロジェクトフォルダーのResourcesフォルダー(デフォルトではsmall.tinyfntファイルが入っている)にコピーします。

そして、このプロジェクトのResources.resxを開きます。そしてメニューの”リソースの追加”→”既存ファイルの追加”を選択して、meiryohiragana.tinyfntを選択し、フォントリソースに追加します。

この状態で一度プロジェクトをビルドします。そして、書体を指定するコードで、

            text.Font = Resources.GetFont(Resources.FontResources.meiryohiragana);
こんな風にフォントを指定し、
            text.TextContent = @"あいうえお";
な感じで、コーディングすれば、日本語フォントでメイリオの書体で表示されます。
実際に製品として使う場合には、大概のフォントは著作権があって勝手には使えない場合があるのでご注意。

转载于:https://www.cnblogs.com/iphone6/archive/2011/11/23/2259832.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值