4.3. ISDCBBuilder¶
added in version 1.7.0
カスタマーディスプレイ制御用コマンドを生成する機能を提供するインターフェイスです。
本インターフェイスは、カスタマーディスプレイに対応しているモデル専用です。 対応しているモデルは 対応外部機器 を参照ください。
列挙体
名称
説明
国際文字指定定数
コードページ指定定数
カーソルモード指定定数
コントラストモード指定定数
プロパティ
名称
説明
生成、追加されたコマンド列です。
生成、追加されたコマンド列の先頭にプリンタへのパススルーコマンドが追加されたコマンド列です。
メソッド
名称
説明
データ(テキストやコマンド)をコマンドバッファに追加します。
バックスペースコマンドを生成し、コマンドバッファに追加します。
水平タブコマンドを生成し、コマンドバッファに追加します。
ラインフィードコマンドを生成し、コマンドバッファに追加します。
キャリッジリターンコマンドを生成し、コマンドバッファに追加します。
グラフィック表示コマンドを生成し、コマンドバッファに追加します。
国際文字指定コマンドを生成し、コマンドバッファに追加します。
コードページ指定コマンドを生成し、コマンドバッファに追加します。
画面を行末までクリアするコマンドを生成し、コマンドバッファに追加します。
画面をクリアするコマンドを生成し、コマンドバッファに追加します。
カーソルをホームポジションに移動するコマンドを生成し、コマンドバッファに追加します。
バックライトをオン・オフするコマンドを生成し、コマンドバッファに追加します。
カーソルを指定された位置に移動するコマンドを生成し、コマンドバッファに追加します。
カーソルモード変更コマンドを生成し、コマンドバッファに追加します。
コントラストモード変更コマンドを生成し、コマンドバッファに追加します。
ユーザー定義文字(SBCS)登録コマンドを生成し、コマンドバッファに追加します。
ユーザー定義文字(DBCS)登録コマンドを生成し、コマンドバッファに追加します。
4.3.1. SDCBInternationalType¶
added in version 1.7.0
国際文字指定定数です。
宣言
typedef NS_ENUM(NSInteger, SDCBInternationalType) { SDCBInternationalTypeUSA = 0x00, SDCBInternationalTypeFrance = 0x01, SDCBInternationalTypeGermany = 0x02, SDCBInternationalTypeUK = 0x03, SDCBInternationalTypeDenmark = 0x04, SDCBInternationalTypeSweden = 0x05, SDCBInternationalTypeItaly = 0x06, SDCBInternationalTypeSpain = 0x07, SDCBInternationalTypeJapan = 0x08, SDCBInternationalTypeNorway = 0x09, SDCBInternationalTypeDenmark2 = 0x0a, SDCBInternationalTypeSpain2 = 0x0b, SDCBInternationalTypeLatinAmerica = 0x0c, SDCBInternationalTypeKorea = 0x0d };
定数
名称 説明 SDCBInternationalTypeUSA アメリカ SDCBInternationalTypeFrance フランス SDCBInternationalTypeGermany ドイツ SDCBInternationalTypeUK イギリス SDCBInternationalTypeDenmark デンマーク SDCBInternationalTypeSweden スウェーデン SDCBInternationalTypeItaly イタリア SDCBInternationalTypeSpain スペイン SDCBInternationalTypeJapan 日本 SDCBInternationalTypeNorway ノルウェー SDCBInternationalTypeDenmark2 デンマークII SDCBInternationalTypeSpain2 スペインII SDCBInternationalTypeLatinAmerica ラテンアメリカ SDCBInternationalTypeKorea 韓国
4.3.2. SDCBCodePageType¶
added in version 1.7.0
コードページ指定定数です。
宣言
typedef NS_ENUM(NSInteger, SDCBCodePageType) { SDCBCodePageTypeCP437 = 0x00, SDCBCodePageTypeKatakana = 0x01, SDCBCodePageTypeCP850 = 0x02, SDCBCodePageTypeCP860 = 0x03, SDCBCodePageTypeCP863 = 0x04, SDCBCodePageTypeCP865 = 0x05, SDCBCodePageTypeCP1252 = 0x06, SDCBCodePageTypeCP866 = 0x07, SDCBCodePageTypeCP852 = 0x08, SDCBCodePageTypeCP858 = 0x09, SDCBCodePageTypeJapanese = 0x0a, SDCBCodePageTypeSimplifiedChinese = 0x0b, SDCBCodePageTypeTraditionalChinese = 0x0c, SDCBCodePageTypeHangul = 0x0d };
定数
名称 説明 SDCBCodePageTypeCP437 CodePage437 (USA, Std. Europe) SDCBCodePageTypeKatakana Katakana SDCBCodePageTypeCP850 PC850 (Multilingual) SDCBCodePageTypeCP860 PC860 (Portuguese) SDCBCodePageTypeCP863 PC863 (Canadian-French) SDCBCodePageTypeCP865 PC865 (Norwegian) SDCBCodePageTypeCP1252 WPC1252 SDCBCodePageTypeCP866 PC866 [Cyrillic #2] SDCBCodePageTypeCP852 PC852 [Latin 2] SDCBCodePageTypeCP858 Page 19 [PC858] SDCBCodePageTypeJapanese Japanese font (shift JIS) SDCBCodePageTypeSimplifiedChinese Simplified Chinese (GB2312) SDCBCodePageTypeTraditionalChinese Traditional Chinese (Big5) SDCBCodePageTypeHangul Hangul (KSC5601)
4.3.3. SDCBCursorMode¶
added in version 1.7.0
カーソルモード指定定数です。
宣言
typedef NS_ENUM(NSInteger, SDCBCursorMode) { SDCBCursorModeOff = 0x00, SDCBCursorModeBlink = 0x01, SDCBCursorModeOn = 0x02 };
定数
名称 説明 SDCBCursorModeOff カーソル消灯 SDCBCursorModeBlink カーソル点滅 SDCBCursorModeOn カーソル点灯
4.3.4. SDCBContrastMode¶
added in version 1.7.0
コントラストモード指定定数です。
宣言
typedef NS_ENUM(NSInteger, SDCBContrastMode) { SDCBContrastModeMinus3 = 0x00, SDCBContrastModeMinus2 = 0x01, SDCBContrastModeMinus1 = 0x02, SDCBContrastModeDefault = 0x03, SDCBContrastModePlus1 = 0x04, SDCBContrastModePlus2 = 0x05, SDCBContrastModePlus3 = 0x06 };
定数
名称 説明 SDCBContrastModeMinus3 コントラスト マイナス3 SDCBContrastModeMinus2 コントラスト マイナス2 SDCBContrastModeMinus1 コントラスト マイナス1 SDCBContrastModeDefault デフォルト SDCBContrastModePlus1 コントラスト プラス1 SDCBContrastModePlus2 コントラスト プラス2 SDCBContrastModePlus3 コントラスト プラス3
4.3.5. commands¶
added in version 1.7.0
コマンドバッファ(生成したコマンド)を取得します。
宣言
@property (nonatomic, readonly) NSMutableData *commands;
引数
なし
値
説明 型 コマンドバッファ(生成したコマンド) NSMutableData *
4.3.6. passThroughCommands¶
added in version 1.7.0
コマンドバッファ(生成したコマンド)の先頭にプリンタへのパススルーコマンドが追加されたコマンド列を取得します。
宣言
@property (nonatomic, readonly) NSMutableData *passThroughCommands;
引数
なし
戻り値
説明 型 コマンドバッファ(生成したコマンド) NSMutableData *
実装例
ISDCBBuilder *builder = [StarIoExt createDisplayCommandBuilder:StarIoExtDisplayModelSCD222]; ... NSData *commands = [builder.passThroughCommands copy];
DisplayViewController.m / DisplayExtViewController.mを参照ください。
4.3.7. appendData¶
added in version 1.7.0
データ(テキストやコマンド)をコマンドバッファに追加します。
宣言
- (void)appendByte:(unsigned char)data; - (void)appendData:(NSData *)otherData; - (void)appendBytes:(const void *)bytes length:(NSUInteger)length;
引数
名称 説明 型 dataotherDatabytesデータ(テキストやコマンド) unsigned charNSData *const void *length データ長 NSUInteger 戻り値
なし
実装例
+ (void)appendTextPattern:(ISDCBBuilder *)builder number:(int)number { // [builder appendClearScreen]; [builder appendCursorMode:SDCBCursorModeOff]; [builder appendSpecifiedPosition:1 y:1]; unsigned char pattern1[] = "\x020\x021\x022\x023\x024\x025\x026\x027\x028\x029\x02a\x02b\x02c\x02d\x02e\x02f\x030\x031\x032\x033\x034\x035\x036\x037\x038\x039\x03a\x03b\x03c\x03d\x03e\x03f\x040\x041\x042\x043\x044\x045\x046\x047"; ... switch (number) { default : [builder appendBytes:pattern1 length:sizeof(pattern1)]; // 0 break; case 1 : [builder appendBytes:pattern2 length:sizeof(pattern2)]; break; case 2 : [builder appendBytes:pattern3 length:sizeof(pattern3)]; break; case 3 : [builder appendBytes:pattern4 length:sizeof(pattern4)]; break; case 4 : [builder appendBytes:pattern5 length:sizeof(pattern5)]; break; case 5 : [builder appendBytes:pattern6 length:sizeof(pattern6)]; break; } }
DisplayFunctions.mを参照ください。
4.3.8. appendBackSpace¶
added in version 1.7.0
バックスペースコマンドを生成し、コマンドバッファに追加します。
宣言
void appendBackSpace();
引数
なし
戻り値
なし
4.3.9. appendHorizontalTab¶
added in version 1.7.0
水平タブコマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendHorizontalTab;
引数
なし
戻り値
なし
4.3.10. appendLineFeed¶
added in version 1.7.0
ラインフィードコマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendLineFeed;
引数
なし
戻り値
なし
4.3.11. appendCarriageReturn¶
added in version 1.7.0
キャリッジリターンコマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendCarriageReturn;
引数
なし
戻り値
なし
4.3.12. appendBitmap¶
added in version 1.7.0
グラフィック表示コマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendBitmap:(UIImage *)image diffusion:(BOOL)diffusion;
引数
名称 説明 型 bitmap 表示したいイメージ横 160dot、縦 40dotのモノクロBitmapクラスのインスタンスを指定してください。異なるサイズのBitmapが指定された場合、横 160dot、縦 40dotにリサイズされます。Bitmapの各ピクセルの色は自動でモノクロ2値に変換されます。UIImage * diffusion 誤差拡散YES ... 誤差拡散を行うNO ... 誤差拡散を行わないBOOL 戻り値
なし
実装例
+ (void)appendGraphicPattern:(ISDCBBuilder *)builder number:(int)number { // [builder appendClearScreen]; [builder appendCursorMode:SDCBCursorModeOff]; // [builder appendSpecifiedPosition:1 y:1]; UIImage *image; switch (number) { default : // 0 image = [UIImage imageNamed:@"DisplayImage1.png"]; break; case 1 : image = [UIImage imageNamed:@"DisplayImage2.png"]; break; case 2 : image = [UIImage imageNamed:@"DisplayImage3.png"]; break; case 3 : image = [UIImage imageNamed:@"DisplayImage4.png"]; break; } [builder appendBitmap:image diffusion:YES]; }
DisplayFunctions.mを参照ください。
4.3.13. appendInternational¶
added in version 1.7.0
国際文字指定コマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendInternational:(SDCBInternationalType)type;
引数
名称 説明 型 internationalType 国際文字指定定数 SDCBInternationalType 戻り値
なし
実装例
+ (void)appendCharacterSet:(ISDCBBuilder *)builder internationalType:(SDCBInternationalType)internationalType codePageType:(SDCBCodePageType)codePageType { // [builder appendClearScreen]; [builder appendCursorMode:SDCBCursorModeOff]; [builder appendSpecifiedPosition:1 y:1]; [builder appendInternational:internationalType]; [builder appendCodePage :codePageType]; unsigned char pattern1[] = "\x02d\x020\x020\x020\x023\x024\x040\x05b\x05c\x05d\x05e\x060\x07b\x07c\x07d\x07e\x020\x020\x020\x02d\x0a0\x0a1\x0a2\x0a3\x0a4\x0a5\x0a6\x0a7\x0a8\x0a9\x0aa\x0ab\x0ac\x0ad\x0ae\x0af\x0b0\x0b1\x0b2\x0b3"; ... switch (codePageType) { default : [builder appendBytes:pattern1 length:sizeof(pattern1)]; break; //CP437,Katakana,CP850,CP860,CP863,CP865,CP1252,CP866,CP852,CP858 case SDCBCodePageTypeJapanese : [builder appendBytes:pattern2 length:sizeof(pattern2)]; break; case SDCBCodePageTypeSimplifiedChinese : [builder appendBytes:pattern3 length:sizeof(pattern3)]; break; case SDCBCodePageTypeTraditionalChinese : [builder appendBytes:pattern4 length:sizeof(pattern4)]; break; case SDCBCodePageTypeHangul : [builder appendBytes:pattern5 length:sizeof(pattern5)]; break; } }
DisplayFunctions.mを参照ください。
4.3.14. appendCodePage¶
added in version 1.7.0
コードページ指定コマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendCodePage:(SDCBCodePageType)type;
引数
名称 説明 型 codePageType コードページ指定定数 SDCBCodePageType 戻り値
なし
実装例
+ (void)appendCharacterSet:(ISDCBBuilder *)builder internationalType:(SDCBInternationalType)internationalType codePageType:(SDCBCodePageType)codePageType { // [builder appendClearScreen]; [builder appendCursorMode:SDCBCursorModeOff]; [builder appendSpecifiedPosition:1 y:1]; [builder appendInternational:internationalType]; [builder appendCodePage :codePageType]; unsigned char pattern1[] = "\x02d\x020\x020\x020\x023\x024\x040\x05b\x05c\x05d\x05e\x060\x07b\x07c\x07d\x07e\x020\x020\x020\x02d\x0a0\x0a1\x0a2\x0a3\x0a4\x0a5\x0a6\x0a7\x0a8\x0a9\x0aa\x0ab\x0ac\x0ad\x0ae\x0af\x0b0\x0b1\x0b2\x0b3"; ... switch (codePageType) { default : [builder appendBytes:pattern1 length:sizeof(pattern1)]; break; //CP437,Katakana,CP850,CP860,CP863,CP865,CP1252,CP866,CP852,CP858 case SDCBCodePageTypeJapanese : [builder appendBytes:pattern2 length:sizeof(pattern2)]; break; case SDCBCodePageTypeSimplifiedChinese : [builder appendBytes:pattern3 length:sizeof(pattern3)]; break; case SDCBCodePageTypeTraditionalChinese : [builder appendBytes:pattern4 length:sizeof(pattern4)]; break; case SDCBCodePageTypeHangul : [builder appendBytes:pattern5 length:sizeof(pattern5)]; break; } }
DisplayFunctions.mを参照ください。
4.3.15. appendDeleteToEndOfLine¶
added in version 1.7.0
画面を行末までクリアするコマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendDeleteToEndOfLine;
引数
なし
戻り値
なし
4.3.16. appendClearScreen¶
added in version 1.7.0
画面をクリアするコマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendClearScreen;
引数
なし
戻り値
なし
実装例
+ (void)appendClearScreen:(ISDCBBuilder *)builder { [builder appendClearScreen]; }
DisplayFunctions.mを参照ください。
4.3.17. appendHomePosition¶
added in version 1.7.0
カーソルをホームポジションに移動するコマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendHomePosition;
引数
なし
戻り値
なし
4.3.18. appendTurnOn¶
added in version 1.7.0
バックライトをオン・オフするコマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendTurnOn:(BOOL)turnOn;
引数
名称 説明 型 turnOn バックライトのオン・オフ BOOL 戻り値
なし
実装例
+ (void)appendTurnOn:(ISDCBBuilder *)builder turnOn:(BOOL)turnOn { ... [builder appendTurnOn:turnOn]; }
DisplayFunctions.mを参照ください。
4.3.19. appendSpecifiedPosition¶
added in version 1.7.0
カーソルを指定された位置に移動するコマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendSpecifiedPosition:(int)x y:(int)y;
引数
名称 説明 型 x 桁位置(一番左の桁が1) int y 行位置(一番上の行が1) int 戻り値
なし
実装例
+ (void)appendCursorMode:(ISDCBBuilder *)builder cursorMode:(SDCBCursorMode)cursorMode { // [builder appendClearScreen]; [builder appendCursorMode:SDCBCursorModeOff]; [builder appendSpecifiedPosition:1 y:1]; unsigned char pattern[] = "Star Micronics " "Total : 12345"; [builder appendBytes:pattern length:sizeof(pattern)]; [builder appendSpecifiedPosition:20 y:2]; [builder appendCursorMode:cursorMode]; }
DisplayFunctions.mを参照ください。
4.3.20. appendCursorMode¶
added in version 1.7.0
カーソルモード変更コマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendCursorMode:(SDCBCursorMode)cursorMode;
引数
名称 説明 型 cursorMode カーソルモード指定定数 SDCBCursorMode 戻り値
なし
実装例
+ (void)appendCursorMode:(ISDCBBuilder *)builder cursorMode:(SDCBCursorMode)cursorMode { // [builder appendClearScreen]; [builder appendCursorMode:SDCBCursorModeOff]; [builder appendSpecifiedPosition:1 y:1]; unsigned char pattern[] = "Star Micronics " + "Total : 12345"; [builder appendBytes:pattern length:sizeof(pattern)]; [builder appendSpecifiedPosition:20 y:2]; [builder appendCursorMode:cursorMode]; }
DisplayFunctions.mを参照ください。
4.3.21. appendContrastMode¶
added in version 1.7.0
コントラストモード変更コマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendContrastMode:(SDCBContrastMode)contrastMode;
引数
名称 説明 型 contrastMode コントラストモード指定定数 SDCBContrastMode 戻り値
なし
実装例
+ (void)appendContrastMode:(ISDCBBuilder *)builder contrastMode:(SDCBContrastMode)contrastMode { ... [builder appendContrastMode:contrastMode]; }
DisplayFunctions.mを参照ください。
4.3.22. appendUserDefinedCharacter¶
added in version 1.7.0
ユーザー定義文字(SBCS)登録コマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendUserDefinedCharacter:(int)index code:(int)code font:(unsigned char *)font;
引数
名称 説明 型 index フォント番号00h ≦ index ≦ 1Fhint code ユーザー定義文字の文字コード20h ≦ code ≦ 7FhappendCodePage メソッドで SDCBCodePageTypeJapanese を指定した場合、以下の範囲も使用可能です。A0h ≦ code ≦ DFhint font 16byteのフォントデータユーザー定義文字のフォントデータのフォーマットを参照してください。nil を指定すると、指定したフォント番号のユーザー定義文字を解除します。unsigned char * 戻り値
なし
ユーザー定義文字のフォントデータのフォーマット
実装例
+ (void)appendUserDefinedCharacter:(ISDCBBuilder *)builder set:(BOOL)set { // [builder appendClearScreen]; [builder appendCursorMode:SDCBCursorModeOff]; [builder appendSpecifiedPosition:1 y:1]; [builder appendInternational:SDCBInternationalTypeUSA]; [builder appendCodePage :SDCBCodePageTypeJapanese]; if (set) { [builder appendUserDefinedCharacter:0 code:0x20 font:(unsigned char *) "\x000\x000\x032\x000\x049\x000\x049\x07f\x026\x048\x000\x048\x000\x030\x000\x000"]; [builder appendUserDefinedDbcsCharacter:0 code:0x8140 font:(unsigned char *) "\x000\x000\x000\x000\x000\x000\x000\x000\x003\x020\x004\x090\x004\x090\x002\x060\x000\x000\x007\x0f0\x004\x080\x004\x080\x003\x000\x000\x000\x000\x000\x000\x000"]; } else { [builder appendUserDefinedCharacter:0 code:0x00 font:nil]; [builder appendUserDefinedDbcsCharacter:0 code:0x0000 font:nil]; } unsigned char pattern[] = "\x05b\x020\x020\x053\x074\x061\x072\x020\x04d\x069\x063\x072\x06f\x06e\x069\x063\x073\x020\x020\x05d\x05b\x081\x040\x081\x040\x083\x058\x083\x05e\x081\x05b\x090\x0b8\x096\x0a7\x081\x040\x081\x040\x05d"; [builder appendBytes:pattern length:sizeof(pattern)]; }
DisplayFunctions.mを参照ください。
4.3.23. appendUserDefinedDbcsCharacter¶
added in version 1.7.0
ユーザー定義文字(DBCS)登録コマンドを生成し、コマンドバッファに追加します。
宣言
- (void)appendUserDefinedDbcsCharacter:(int)index code:(int)code font:(unsigned char *)font;
引数
名称 説明 型 index フォント番号00h ≦ index ≦ 0Fhint code ユーザー定義文字の文字コード20h ≦ code ≦ 7FhappendCodePage メソッドで SDCBCodePageTypeJapanese を指定した場合、以下の範囲も使用可能です。80 00h ≦ code ≦ FF FFhint font 32byteのフォントデータユーザー定義文字のフォントデータのフォーマットを参照してください。nil を指定すると、指定したフォント番号のユーザー定義文字を解除します。unsigned char * 戻り値
なし
ユーザー定義文字のフォントデータのフォーマット
実装例
+ (void)appendUserDefinedCharacter:(ISDCBBuilder *)builder set:(BOOL)set { // [builder appendClearScreen]; [builder appendCursorMode:SDCBCursorModeOff]; [builder appendSpecifiedPosition:1 y:1]; [builder appendInternational:SDCBInternationalTypeUSA]; [builder appendCodePage :SDCBCodePageTypeJapanese]; if (set) { [builder appendUserDefinedCharacter:0 code:0x20 font:(unsigned char *) "\x000\x000\x032\x000\x049\x000\x049\x07f\x026\x048\x000\x048\x000\x030\x000\x000"]; [builder appendUserDefinedDbcsCharacter:0 code:0x8140 font:(unsigned char *) "\x000\x000\x000\x000\x000\x000\x000\x000\x003\x020\x004\x090\x004\x090\x002\x060\x000\x000\x007\x0f0\x004\x080\x004\x080\x003\x000\x000\x000\x000\x000\x000\x000"]; } else { [builder appendUserDefinedCharacter:0 code:0x00 font:nil]; [builder appendUserDefinedDbcsCharacter:0 code:0x0000 font:nil]; } unsigned char pattern[] = "\x05b\x020\x020\x053\x074\x061\x072\x020\x04d\x069\x063\x072\x06f\x06e\x069\x063\x073\x020\x020\x05d\x05b\x081\x040\x081\x040\x083\x058\x083\x05e\x081\x05b\x090\x0b8\x096\x0a7\x081\x040\x081\x040\x05d"; [builder appendBytes:pattern length:sizeof(pattern)]; }
DisplayFunctions.mを参照ください。