名前 題名 ▼ Mr.XRAYさん > 表題の内容についてメールでの問合わせがありました. > 皆さんの参考になると思いますので,ここに内容の概略を紹介して > おきます. > > http://www.technical.or.jp/ > このサイトの[事業案内]から辿っていくと,バーコードフォントがDL > できます.質問の内容は,このフォントを印刷する方法についてです. > http://www.technical.jp/handbook/chapter-font1.html > > ------- メールで返信内容 ----------------------------------- > > 特殊フォントの場合は,FontプロパティのCharSetを指定する必要が > あります.CharSetは利用するフォントによって異なる場合がありま > す. > > 確認方法は, > (1) 目的のフォントをまずインストール > (2) フォームに,例えばTPanelを一つ配置 > (3) このPanel1のFont.Nameをオブジェクトインスペクタで > 目的のフォントを選択 > (4) Font.Charsetが自動的にANSI_CHARSETになった. > 自動的にならない場合もあります.その時はCharSetを変更して, > 目的のフォントでの表示になるものを探します. > OEM_CHARSETが有力な候補です. > > そこで改めて,印刷プレビューのコードを以下の様にします. > ただし,印刷プレビューコンポでは,0.1mm単位の描画ですので, > バーコードのサイズは,規格などを参考にしてFont.Heightまたは印刷 > プレビューコンポのFontHeightメソッド等で調整して下さい. > > //PVはTplPrevのこと > pv.FontName('CODE39'); > pv.Canvas.Font.Charset:=ANSI_CHARSET; > pv.TextOut(300,300, '*1234567890*'); > > ------- ここまで ----------------------------------- > > なお,質問された方は事情により,実際にはDEKO(TEADの作者)さんのと > ころのバーコード生成ユニットを以下の様に使用されたとのことです. > > > ------- 質問された方のコード(引用開始) ----------------------------------- > > http://homepage1.nifty.com/ht_deko/ > これを使用してみることにしました。 > > S := PQuery1.FieldByName('KANRINO').AsString; > // CODE-39 > BK := Make_CODE39(S, false); > > // 倍率 > n := 2; > > Position := 0; > for Counter:=1 to Length(BK) do > begin > LineWidth := ((StrToInt(BK[Counter]) div 2) + 1) * n; > if (StrToInt(BK[Counter]) mod 2) = 0 then > // 空白 > begin > Position := Position + LineWidth; > end > else > // バー > begin > for i:=1 to LineWidth do > begin > //DrawLine(Position); > Pv.MoveTo(Position + 120, 300);//========== > Pv.LineTo(Position + 120, 338);//========== > Inc(Position); > end; > end; > end; > > pv.TextOut(120,340, S); > > 一応打ち出してバーコードリーダーで読めました。 > > ------- ここまで(引用終了) ----------------------------------- > > 参考になれば幸いです. > > # 本日(昨日?)は問合わせ関係のメール処理は2件だけ. > # 本当に少なくなりました. > > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link