mw::hwr::HwrRecgData 構造体

構文

#include <mw/hwr/hwr.h>

typedef struct HwrRecgData {
     u16  moji[ DLL_RECV_CANDI    ];
     u16  deg [ DLL_RECV_CANDI    ];
     u8   idat[ DLL_SEND_INKS * 2 ];
}HwrRecgData;

説明

Execute( )で認識処理を行うための認識用入出力データ格納構造体です。
構造体の idat[ ] に座標点列をセットしExecute( )を呼ぶことで認識結果としてmoji[ ]、deg[ ] が得られます。

moji[ ] … 呼び出し完了時に認識結果の文字コード(Unicode[UCS-2])が設定されます

認識結果は、評価値が小さい順に格納されております。


登録用辞書を使用する場合は、選択している認識辞書と登録辞書を統合させた認識結果が得られます。
認識結果の文字コードは、使用している辞書とChangeMode( )(認識対象文字種絞込)にて設定しているモードに依存した文字コードが、認識結果の確からしさの順に格納されます。
以下に、文字登録機能での登録文字コードとその際に使用する認識辞書ChangeMode( )にて設定したモードでの認識結果の関係を示します。

(例1)文字登録(RegisterSet( ))時に文字コードU-3042(あ)として登録した場合 ・・・ ひらがなの文字コード

  • 全ての辞書において、ChangeMode( )RMODE_ALLと設定した際は、認識結果に格納されます。
  • 使用する認識辞書にひらがなが含まれており、かつChangeMode( )でひらがな(RMODE_HIRA)が設定されていれば、認識結果に格納されます。

  • (例2)文字登録(RegisterSet( ))時に文字コードU-E001として登録した場合 ・・・ 登録可能なUnicodeプライベート拡張領域の文字コード

  • 各認識辞書の認識対象文字の範囲外の文字コードであるため、ChangeMode( )RMODE_ALLRMODE_REGISTRATION以外の設定をした場合は、認識結果に格納されません。
  • 使用辞書 RMODE_ALL RMODE_REGISTRATION その他のモード
    全ての辞書 格納されます 格納されます 格納されません

    (例)数字のみと登録文字(文字コードU-E001で登録した文字)を認識対象としたい場合
    ChangeMode( RMODE_NUM | RMODE_REGISTRATION );



    deg[ ] … 呼び出し完了時に認識結果の評価値が設定されます

    認識結果は、評価値が小さい順に格納されております。
    文字登録用辞書を使用する場合は、選択している辞書と登録辞書を統合させた認識結果が得られます。

    idat[ ] … 呼び出し時に座標点列データをセットします

    idat[ ]へのデータのセットはX座標(0~127)、Y座標(0~127)の順で格納します。(1座標点につき、idat[ ]のインデックスは2進む)
    X座標の最上位ビットはペンダウン/ペンアップのフラグとなっており、座標点(0x14, 0x18) とすると
    ペンダウンの場合、 ペンアップの場合、 となります。

    制限項目
    idat[ ]へのデータセットには、次の制限が存在します。

  • 各ストロークの終端は必ずペンアップを設定してください。
  • 座標点のY座標には、必ず127以下の値を設定してください。
  • データの終端には、X座標、Y座標ともに0xFFのデータを設定してください。
  • 入力座標点数の最大は、終端の0xFF, 0xFFを含め1024点(2048バイト)です。
  • 1ストローク(1画)あたりの最大座標点は256点です。256点を超える場合は、エンジン内部で無効なデータして扱います。
  • 最大有効画数は31画です。
  • 座標は、入力枠左上を(0,0)とする値を設定してください。
  • 1ストローク(1画)あたりの最大座標点、1文字(総画)での最大座標点の制限がありますので、それを超えそうな場合は、idat[ ]へ筆跡データをセットする前に筆跡座標点の間引き処理を行うことを推奨いたします。


    筆跡データに関して

  • 筆跡データは、20点/秒 ~ 50点/秒 となるようなデータを推奨いたします。
  • 入力データに筆跡データ以外のデータを上位層側で除去してから、入力データとすることを推奨いたします。良くある例として、筆跡データ(1 画、1画)の出発点に余計な1点が入ることがあります。
  • 波打つような筆跡となる座標の取り方はしないで、上位層側でスムージング処理を施すことを推奨いたします。
  • メンバ変数

    名前 説明
    out moji 認識結果の文字コード(Unicode[UCS-2])が設定されます。

    認識結果は評価値が小さい文字順に格納されます。
    out deg 認識結果の評価値が設定されます。

    認識結果は評価値が小さい文字順に格納されます。
    in idat 認識に必要な座標点列データを設定します(筆跡データ)。

    履歴

    2014/05/28
    初版