epson レジプリンタ日本語対応
メール内容添付
システムサポート
 開発

 小林 新作 様


お世話になります。
エプソン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製品ヘルプデスク
  担当:上村

????