21

ネットワーク接続された Zebra GK420T を使用して、配送ラベルを印刷するシステムを再設計する仕事があります。ZPL 印刷ジョブを完全に正常に送信できましたが、キリル文字などの Unicode 文字を印刷できないようです。Seagull Scientific ドライバーを使用して lucida sans Unicode フォントをプリンターにダウンロードし、次の ZPL コードを使用してテストしています。

^XA
^LH100,150
^CI28
^FT0,0^A@N,50,50,R:LUCIDASR.FNT^CI28^FDTesting 1 2 3^FS
^FT0,50^A@N,50,50,R:LUCIDASR.FNT^CI28^FDДо свидания^FS
^FT0,100^B3^FDAAA001^FS
^XZ

「Testing 1 2 3」とバーコードが印刷されますが、キリル文字の代わりに空白が残ります。

Zebra swiss Unicode フォントも使用してみましたが、ロシア語の文字が疑問符として出力されるようになりました。

^XA
^LH100,150
^CWT,E:TT0003M_.FNT
^CFT,30,30
^CI28
^FT0,0^FDTesting 1 2 3^FS
^FT0,50^FDДо свидания^FS
^FT0,100^B3^FDAAA001^FS
^XZ

文字をエスケープしないなど、何か間違ったことをしていますか、それともプリンターの問題ですか?

4

12 に答える 12

22

^FH最初に utf 文字を含む可能性のあるフィールドの前に置くことで ASCII の上の文字をエスケープする必要が^FDあり、utf-8 16 進コードの前にアンダースコアを付ける必要があることを発見しました

_D0_94Д として出力されます。私の最終的な ZPL コードは次のとおりです。

^XA
^LH100,150
^CWT,E:TT0003M_.FNT
^CFT,30,30
^CI28
^FT0,0^FH^FDTesting 1 2 3^FS
^FT0,50^FH^FD_D0_94_D0_BE _D1_81_D0_B2_D0_B8_D0_B4_D0_B0_D0_BD_D0_B8_D1_8F^FS
^FT0,100^B3^FDAAA001^FS
^XZ

エスケープ シーケンスを生成する方法を作成する必要があります。これははるかに簡単なはずです。

于 2012-10-24T01:17:01.463 に答える
13

^FH私は同じ問題を抱えていました.特殊文字を含む(フィールドデータ)コマンドの前に(フィールド16進インジケータ)を追加する^FD必要があります.私の場合はスペイン語の文字が必要なので^CI28(国際フォント/エンコーディングの変更)

UTF 8 HEX コード一覧

サンプル: 印刷Alvaro Jesús Pérez Peñaranda するには、これらの特殊文字を UTF 8 Hex コードに変換し、各コードの前に _ を追加する必要があります。結果は次のとおりです。Alvaro Jes_c3_bas P_c3_a9rez Pe_c3_b1aranda

^XA

^CI28
^FO60,75
^ASN,36,20^FH^FDAlvaro Jes_c3_bas P_c3_a9rez Pe_c3_b1aranda^FS

^XZ
于 2015-01-26T19:26:48.680 に答える
5

無料のZebra swiss Unicode フォントを使用して、ロシア語およびその他の多くの文字を印刷できます。TT0003M_ としてほとんどのプリンターに既に組み込まれており、ローマ字、キリル文字、東欧文字、トルコ文字、アラビア文字、ヘブライ文字をサポートしています。


日本語や中国語など、何千文字もある言語を印刷するには、少なくとも 23 MB の空きメモリを備えたプリンタと、アップロードできる (ダウンロードと呼ばれる) TrueType フォント ファイルが必要です。

このファイルは Zebra から購入できます (64 MB が必要だと言われています) が、Windows 7 システムの Fonts フォルダーにある非常に古い TTF ファイル (ARIALUNI.TTF 1.01 (23.275.812 バイト)) を使用することもできました。 、Arial Unicode MS。これは、MS Office のインストールによってインストールされたものであり、この使用が許可されていない可能性があります。

おそらく他の TTF ファイルも使用できますが、私はこれだけを試しました。

この Zebra プリンターでの ZPL 印刷はオリジナルのドライバーがなくても機能しましたが (一般的なテキストのみ)、フォントのインストールにはドライバーが必要でした。ドライバーなしでTTFファイルをプリンターに送信する方法を知っている人は、コメントしてください。

Fonts Downloader を含む Zebra Setup Utilities をインストールしました。[新規] をクリックしてフォントを追加し (システムにインストールする必要があります)、226 文字が含まれているというメッセージを無視します。また、テスト文字列を Unicode 文字で構成すると、正しく表示されないことにも注意してください。今すぐダウンロードするかどうか尋ねられますが、時間がかかります。

ディレクトリの内容を一覧表示することで、インストールを確認できます (管理 Web ページまたは印刷物)。私の場合、フォントは ARI000.TTF として表示されます。


印刷するには、ZPL テキストを UTF-8 として送信する必要があります。この例をメモ帳にコピーして、保存ダイアログで UTF-8 を選択できます。

^XA
^LH100,150
^CWT,E:ARI000.FNT
^CFT,30,30
^CI28
^FT0,0^FH^FDyour unicode characters here^FS
^XZ

次に、テストのために、単純なコピー コマンドを使用して、それをプリンターに送信できます。

USB の場合は、最初にこのプリンターをネットワークで共有する必要があります。

そしてnet use lpt1: \\localhost\sharenamecopy file.txt lpt1

多くの一般的な日本語と中国語の記号でテストしたところ、32 MB フラッシュを搭載した ZT230 プリンターで高品質で非常にうまく機能しました。

于 2015-06-12T13:24:04.947 に答える
3

あなたの「До свидания」はおそらく cp1251 にありました。実際の UTF-8 でエンコードして、再試行してください。空白は、エンコードに問題があることを示す良い指標です。

v56.17.112 ファームウェアおよび ^A@N,,,E:TT0003M_.FNT で検証済み

于 2012-12-12T19:41:50.310 に答える
2

を使用してロシア語のキリル文字を印刷する:TT0003M_.FNT場合は、コマンドを UTF-8 エンコーディングでファイルに保存する必要があります。

^XA
^LH100,150
^CWT,E:TT0003M_.FNT
^CFT,30,30
^CI28
^FT0,0^FH^FDTesting 1 2 3^FS
^FT0,30^FH^FDДо свидания^FS
^FT0,100^B3^FDAAA001^FS
^XZ

次に、コマンドラインを使用して、プリンターポートに送信できます。例: C:\Users\xxx\Desktop\test_ru.txt com1 をコピーします。

それが役立つことを願っています...

于 2013-11-05T14:21:27.640 に答える