 |
|
|
|
メール内容添付
システムサポート
開発
小林 新作 様
お世話になります。
エプソンPOS製品ヘルプデスクの上村と申します。
平素は当社製品をご愛顧いただき誠にありがとうございます。
お問い合わせの件につきまして、下記の通り回答させていただきます。
よろしくご確認のほどお願い申し上げます。
■ お申し込み内容
◇お問い合わせタイトル:TM-T88V-DT日本語対応に関して
◇お問い合わせ製品:TM-T88V-DT
◇製品のインターフェイス:Ethenet
◇システムの概要(用途、機器構成、使用台数):
EPSON ePOS SDK for iOSの利用にて専用レジ製作中
imac xcode(swift5)TM-T88V-DT,TM-L90
◇使用しているOS:iOS
◇使用しているドライバー:Epson ePOS SDK
◇使用している開発環境・アプリケーション:xcode12
◇お問い合わせ内容:
日本語が文字化けします。
EPSON ePOS SDK for iOSの利用でサンプルの
ePOS2_Printer_Swift5にて、日本語の印刷がうまくできません。
EPOS2_MODEL_JAPANESEの設定法等よろしくお願いいたします
--------------------------------------------------------------
■ 回答
弊社開発キット:Epson ePOS SDK for iOS に付属しております
サンプル [ ePOS2_Printer ] では、以下イメージ図の様に、
[ Language ] で言語選択を行なう UI がございます。
(例)
<< 添付ファイル:iOS-SDK-example-JALang1.gif >>
ここの動作は、Epos2Printer クラスを初期化する際に使用します
[ プリンター言語仕様の指定 ] 部分を指定しています。
(例)
--------------------------------------------------------------
printer_ =
[[Epos2Printer alloc] initWithPrinterSeries:EPOS2_TM_M30
lang:EPOS2_MODEL_JAPANESE];
--------------------------------------------------------------
===============
このように、これから接続する「プリンター本体の言語仕様」を
指定できますが、この指定だけでは、日本語印字はできません。
addText 指定する"文字列"を、言語情報に従ったエンコードをする
場合には、addTextLang をご使用いただくことになります。
(例)
--------------------------------------------------------------
result = [printer_ addTextLang:EPOS2_LANG_JA];
--------------------------------------------------------------
addTextLang に EPOS2_LANG_JA を指定することで日本語の印字が
可能となります。
サンプル [ ePOS2_Printer ] が含む MainViewController.m の
createReceiptData 内コメント行 // Section 1 の前後に、
addTextLang と日本語文字列を追加した場合の印刷結果が、以下
イメージファイルとなります。
(例)
--------------------------------------------------------------
result = [printer_ addTextLang:EPOS2_LANG_JA];
// Section 1 : Store infomation
result = [printer_ addFeedLine:1];
if (result != EPOS2_SUCCESS) {
[printer_ clearCommandBuffer];
[ShowMsg showErrorEpos:result method:@"addFeedLine"];
return NO;
}
[textData appendString:@"あいうえお\n"];
[textData appendString:@"漢字\n"];
[textData appendString:@"THE STORE 123 (555) 555 ? 5555\n"];
[textData appendString:@"STORE DIRECTOR ? John Smith\n"];
--------------------------------------------------------------
<< 添付ファイル:iOS-SDK-example-JALang2.gif >>
--------------------------------------------------------------
===============
上記内容のように、使用方法にお間違いがなく、プリンターから
出力される用紙上で文字化けしておりましたら、プリンター本体が
日本語フォントを搭載しているかご確認ください。
プリンター本体の操作によるセルフテストを実施することで、
その印字結果より日本語フォント搭載の有無が判ります。
「日本語フォント」を搭載した(日本語仕様) TM プリンターは、
セルフテストの印字結果 [ Resident Character ] の下に
[ Japanese ] と印字されます。
( TM-T88VI での実行例 )
<< 添付ファイル:88VI-selftest-Resident.gif >>
セルフテストの実行手順は、プリンター別にご用意しております
詳細取扱説明書をご参照ください。
============================================================
もしセルフテストの印字結果で Japanese と印字され、日本語
フォントを搭載していることが確認できましたら、文字化けを
起こす要因は他にある可能性がございます。
プログラムコード上で指定されている文字列データに誤りが
ないかなども、ご確認頂ければ幸いでございます。
※変数の内容が誤っていたなどのケースもございます。
以上、よろしくお願いいたします。
エプソンPOS製品ヘルプデスク
担当:上村
|
|
|