4.3. ISDCBBuilder

added in version 1.7.0

カスタマーディスプレイ制御用コマンドを生成する機能を提供するインターフェイスです。

本インターフェイスは、カスタマーディスプレイに対応しているモデル専用です。 対応しているモデルは 対応外部機器 を参照ください。

  • プロパティ

    名称

    説明

    commands

    生成、追加されたコマンド列です。

    passThroughCommands

    生成、追加されたコマンド列の先頭にプリンタへのパススルーコマンドが追加されたコマンド列です。

  • メソッド

    名称

    説明

    appendData

    データ(テキストやコマンド)をコマンドバッファに追加します。

    appendBackSpace

    バックスペースコマンドを生成し、コマンドバッファに追加します。

    appendHorizontalTab

    水平タブコマンドを生成し、コマンドバッファに追加します。

    appendLineFeed

    ラインフィードコマンドを生成し、コマンドバッファに追加します。

    appendCarriageReturn

    キャリッジリターンコマンドを生成し、コマンドバッファに追加します。

    appendBitmap

    グラフィック表示コマンドを生成し、コマンドバッファに追加します。

    appendInternational

    国際文字指定コマンドを生成し、コマンドバッファに追加します。

    appendCodePage

    コードページ指定コマンドを生成し、コマンドバッファに追加します。

    appendDeleteToEndOfLine

    画面を行末までクリアするコマンドを生成し、コマンドバッファに追加します。

    appendClearScreen

    画面をクリアするコマンドを生成し、コマンドバッファに追加します。

    appendHomePosition

    カーソルをホームポジションに移動するコマンドを生成し、コマンドバッファに追加します。

    appendTurnOn

    バックライトをオン・オフするコマンドを生成し、コマンドバッファに追加します。

    appendSpecifiedPosition

    カーソルを指定された位置に移動するコマンドを生成し、コマンドバッファに追加します。

    appendCursorMode

    カーソルモード変更コマンドを生成し、コマンドバッファに追加します。

    appendContrastMode

    コントラストモード変更コマンドを生成し、コマンドバッファに追加します。

    appendUserDefinedCharacter

    ユーザー定義文字(SBCS)登録コマンドを生成し、コマンドバッファに追加します。

    appendUserDefinedDbcsCharacter

    ユーザー定義文字(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;
    
  • 引数

    名称 説明
    data
    otherData
    bytes
    データ(テキストやコマンド)
    unsigned char
    NSData *
    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 ≦ 1Fh
    int
    code
    ユーザー定義文字の文字コード
    20h ≦ code ≦ 7Fh
    appendCodePage メソッドで SDCBCodePageTypeJapanese を指定した場合、以下の範囲も使用可能です。
    A0h ≦ code ≦ DFh
    int
    font
    16byteのフォントデータ
    ユーザー定義文字のフォントデータのフォーマットを参照してください。
    nil を指定すると、指定したフォント番号のユーザー定義文字を解除します。
    unsigned char *
  • 戻り値

    なし

  • ユーザー定義文字のフォントデータのフォーマット

    ../_images/display_user_defined_sbcs_data.png
  • 実装例

    + (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 ≦ 0Fh
    int
    code
    ユーザー定義文字の文字コード
    20h ≦ code ≦ 7Fh
    appendCodePage メソッドで SDCBCodePageTypeJapanese を指定した場合、以下の範囲も使用可能です。
    80 00h ≦ code ≦ FF FFh
    int
    font
    32byteのフォントデータ
    ユーザー定義文字のフォントデータのフォーマットを参照してください。
    nil を指定すると、指定したフォント番号のユーザー定義文字を解除します。
    unsigned char *
  • 戻り値

なし

  • ユーザー定義文字のフォントデータのフォーマット

    ../_images/display_user_defined_dbcs_data.png
  • 実装例

    + (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を参照ください。