2

EAN 128 バーコードを表示するカスタム フォントをダウンロードしました。また、フォントで使用するために文字列をエンコードされた文字列に変換するソースコードとサンプルプログラムもダウンロードしました(チェックサムなどを含む)。

フォントをインストールし、WPF アプリを開いて、テキストブロック フォントをこの新しいフォントに設定し、テキストを追加しました。文字が Arial か何かのように出てきます。

フォントをリソースとして追加して、そのように参照しようとしましたが、それでも喜びはありません。

そこで、フォントに付属のプログラムを実行しました。私が見つけた興味深い部分は、テキストを入力すると、プログラムがそれをエンコードしてラベルのテキストを設定し、バーコードが表示されたことです。ただし、そのアプリではプレビューを印刷してバーコードを印刷することはできましたが、印刷プレビューでバーコードのフォントを変更して印刷すると、Arial などのように変更され、アプリで見ているのと同じ問題が発生しました。

これは現時点でのxamlの外観ですが、私が言うように、表現ブレンドでフォントを設定しようとしました。

#Code 128 はファイル名ではなくフォント名です。

<TextBlock x:Name="tbkBarCode" FontFamily="/Fonts/#Code 128" FontSize="24" HorizontalAlignment="Center"/>

何か案は?

4

3 に答える 3

2

これを試して:

<TextBlock x:Name="tbkBarCode" FontFamily="pack://application:,,,/Fonts/#Code 128" FontSize="24" HorizontalAlignment="Center"/>

編集:最初に別のフォントを試してみましたが、この方法でうまくいきました。

Code 128 フォントをダウンロードして試してみましたが、すぐには機能しませんでした。それを機能させるには、ビルドアクションを「コンテンツ」に変更し、出力ディレクトリへのコピーを「新しい場合はコピー」に変更する必要がありました。

于 2012-09-14T11:33:10.980 に答える
1

これが私がそれを行うために使用した方法です...

  1. プロジェクトにフォントを追加します
  2. 「リソース」にフォントのプロパティ「ビルドアクション」を設定します
  3. 最後に、そのようなフォントを使用しました:

TextBlock Grid.Column="2" HorizontalAlignment="Center" FontSize="32" VerticalAlignment="Stretch" FontFamily="./#Code 128" Grid.Row="5" Margin="1" Text="{Binding Checksum}"/

于 2012-09-14T12:44:53.263 に答える
1

テスト用の Windows フォーム アプリを作成し、TextBox を追加して、使用するフォントとして "Code 128" フォントを選択すると、バーコード フォントが正しく表示されます。

WPFを使用すると、フォントを処理する内部のレンダリングシステムが、何らかの理由でその特定のフォントを好まないように見えます...ファイルに期待される情報が存在しない可能性があります。

「Glyphs」でさえ、そのフォント ファイルから適切なものを取得するのに苦労しています。

<Glyphs UnicodeString="ABCD1234567890" FontUri="c:\windows\fonts\code128.ttf" Height="50" Fill="#FF000000" FontRenderingEmSize="25"/>

「ブロック」を返すだけです.....これは文字がないことを意味します。

ここに画像の説明を入力

TextBox/TextBlock などを使用すると、フォールバック フォントがコンテンツの表示に使用されます (Code123 フォントでは表示できないため)...これが、テキストがArial フォント (またはフォールバック フォントが定義されているもの)。


カスタムフォントとサンプルプログラムはどこからダウンロードしたの...ここでしたか?

それともここから?:

フォント名は #Code 128 ですか?

.ttf フォントを\Windows\Fontsディレクトリにコピーして CharacterMap を使用すると、どのようなフォント名が表示されますか?

バーコード リソース フォントをインストールした後、次のフォントが一覧表示されます。

ここに画像の説明を入力

それは以下を使用することを意味します:

FontFamily="CCode128_S3_Trial"

フォントを参照するには、Windows にインストールされている場合

また

FontFamily="/Fonts/#CCode128_S3_Trial"

アプリケーションに埋め込まれた .ttf フォント ファイルを参照します。

.TTF フォント ファイルをプロジェクトの "Fonts" フォルダーに追加し、Build Type="Resource" を設定しましたか?

于 2012-09-14T11:42:58.490 に答える