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