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
国際文字指定定数
戻り値
なし
実装例
+ (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
コードページ指定定数
戻り値
なし
実装例
+ (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
カーソルモード指定定数
戻り値
なし
実装例
+ (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
コントラストモード指定定数
戻り値
なし
実装例
+ (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を参照ください。