• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBでフォントデータを得る方法)

VBでフォントデータを取得する方法

このQ&Aのポイント
  • PC上で動作する言語としてはVBだけが少々わかる程度です。このVBだけを頼りに、文字のフォントデータを取得したいと考えています。
  • フォントとしては16x16で、フリーで装飾的要素のない一般的なものが希望です。このデータによりLEDマトリクスに文字を再生したいのです。
  • VBだけで処理できる都合のよいファイルがありましたら教えてください。それともVBの初歩レベルだけでは無理でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#27385
noname#27385
回答No.1

以下は、VB2003でのコードです。VB2005でもたぶん動作すると思います。簡単のためファイル入出力を省いて、ビットパターンを文字列として「出力」ウインドウに表示させます。 g.DrawString("A",・・・)のAを、任意の文字に変更して使います。 ここではテスト用のためフォントをArialにしてありますが、実際に使用するときはフリーのフォントに変更します(フリーのフォントのインストール方法については、やったことがないのでわかりません)。 Public Class Form1 Inherits System.Windows.Forms.Form (Windows フォーム デザイナで生成されたコード) Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim bm As New Bitmap(16, 16) Dim g As Graphics = Graphics.FromImage(bm) g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixel g.DrawString("A", New Font("Arial", 10), Brushes.Black, 0, 0) Dim bitRow As String For y As Integer = 0 To 15 bitRow = "" For x As Integer = 0 To 15 If Not bm.GetPixel(x, y).A = 0 Then bitRow &= "+" Else bitRow &= "-" End If Next Debug.WriteLine(bitRow) Next End Sub End Class

Kuma2000
質問者

補足

回答ありがとうございます。 私の使用しているのはVB6ですので、プログラムの詳細はわかりませんが、私も同様にして文字を16x16分解能でデータを得ています。 ここで問題なのは文字そのものが、Windowsなので その文字自体をフリーなものにしたいと思い質問した次第です。 もっと簡単にフリーのフォントデータそのものがズバリあれば ありがたいのですが いまだ見つかりません・・・。