ext/rqr/QR_Encode.h in z-rqr-0.2.3 vs ext/rqr/QR_Encode.h in z-rqr-0.2.4

- old
+ new

@@ -1,120 +1,120 @@ -//---(1)ここから------------------------- -//// QR_Encode.h : CQR_Encode クラス宣言およびインターフェイス定義 +//---(1)------------------------- +//// QR_Encode.h : CQR_Encode NX錾уC^[tFCX` //// Date 2006/05/17 Ver. 1.12 [Class Ver.1.22] Psytec Inc. // //#if !defined(AFX_QR_ENCODE_H__AC886DF7_C0AE_4C9F_AC7A_FCDA8CB1DD37__INCLUDED_) //#define AFX_QR_ENCODE_H__AC886DF7_C0AE_4C9F_AC7A_FCDA8CB1DD37__INCLUDED_ // //#if _MSC_VER > 1000 //#pragma once //#endif // _MSC_VER > 1000 -//---(1)ここまでをコメントアウト----------- +//---(1)܂łRgAEg----------- -//---(2)ここから----------- +//---(2)----------- #ifndef __QR_ENCODER__ #define __QR_ENCODER__ #include "win2ansi.h" -//---(2)ここまでを追加----------- +//---(2)܂łlj----------- ///////////////////////////////////////////////////////////////////////////// -// 定数 +// 萔 -// 誤り訂正レベル +// x #define QR_LEVEL_L 0 #define QR_LEVEL_M 1 #define QR_LEVEL_Q 2 #define QR_LEVEL_H 3 -// データモード +// f[^[h #define QR_MODE_NUMERAL 0 #define QR_MODE_ALPHABET 1 #define QR_MODE_8BIT 2 #define QR_MODE_KANJI 3 -// バージョン(型番)グループ -#define QR_VRESION_S 0 // 1 〜 9 -#define QR_VRESION_M 1 // 10 〜 26 -#define QR_VRESION_L 2 // 27 〜 40 +// o[W(^)O[v +#define QR_VRESION_S 0 // 1 ` 9 +#define QR_VRESION_M 1 // 10 ` 26 +#define QR_VRESION_L 2 // 27 ` 40 -#define MAX_ALLCODEWORD 3706 // 総コードワード数最大値 -#define MAX_DATACODEWORD 2956 // データコードワード最大値(バージョン40-L) -#define MAX_CODEBLOCK 153 // ブロックデータコードワード数最大値(RSコードワードを含む) -#define MAX_MODULESIZE 177 // 一辺モジュール数最大値 +#define MAX_ALLCODEWORD 3706 // R[h[hől +#define MAX_DATACODEWORD 2956 // f[^R[h[hől(o[W40-L) +#define MAX_CODEBLOCK 153 // ubNf[^R[h[hől(qrR[h[h܂) +#define MAX_MODULESIZE 177 // ӃW[ől -// ビットマップ描画時マージン +// rbg}bv`掞}[W #define QR_MARGIN 4 ///////////////////////////////////////////////////////////////////////////// typedef struct tagRS_BLOCKINFO { - int ncRSBlock; // RSブロック数 - int ncAllCodeWord; // ブロック内コードワード数 - int ncDataCodeWord; // データコードワード数(コードワード数 - RSコードワード数) + int ncRSBlock; // qrubN + int ncAllCodeWord; // ubNR[h[h + int ncDataCodeWord; // f[^R[h[h(R[h[h - qrR[h[h) } RS_BLOCKINFO, *LPRS_BLOCKINFO; ///////////////////////////////////////////////////////////////////////////// -// QRコードバージョン(型番)関連情報 +// QRR[ho[W(^)֘A typedef struct tagQR_VERSIONINFO { - int nVersionNo; // バージョン(型番)番号(1〜40) - int ncAllCodeWord; // 総コードワード数 + int nVersionNo; // o[W(^)ԍ(1`40) + int ncAllCodeWord; // R[h[h - // 以下配列添字は誤り訂正率(0 = L, 1 = M, 2 = Q, 3 = H) - int ncDataCodeWord[4]; // データコードワード数(総コードワード数 - RSコードワード数) + // ȉzY͌(0 = L, 1 = M, 2 = Q, 3 = H) + int ncDataCodeWord[4]; // f[^R[h[h(R[h[h - qrR[h[h) - int ncAlignPoint; // アライメントパターン座標数 - int nAlignPoint[6]; // アライメントパターン中心座標 + int ncAlignPoint; // ACgp^[W + int nAlignPoint[6]; // ACgp^[SW - RS_BLOCKINFO RS_BlockInfo1[4]; // RSブロック情報(1) - RS_BLOCKINFO RS_BlockInfo2[4]; // RSブロック情報(2) + RS_BLOCKINFO RS_BlockInfo1[4]; // qrubN(1) + RS_BLOCKINFO RS_BlockInfo2[4]; // qrubN(2) } QR_VERSIONINFO, *LPQR_VERSIONINFO; ///////////////////////////////////////////////////////////////////////////// -// CQR_Encode クラス +// CQR_Encode NX class CQR_Encode { -// 構築/消滅 +// \z/ public: CQR_Encode(); ~CQR_Encode(); public: - int m_nLevel; // 誤り訂正レベル - int m_nVersion; // バージョン(型番) - BOOL m_bAutoExtent; // バージョン(型番)自動拡張指定フラグ - int m_nMaskingNo; // マスキングパターン番号 + int m_nLevel; // x + int m_nVersion; // o[W(^) + BOOL m_bAutoExtent; // o[W(^)gwtO + int m_nMaskingNo; // }XLOp^[ԍ public: int m_nSymbleSize; BYTE m_byModuleData[MAX_MODULESIZE][MAX_MODULESIZE]; // [x][y] - // bit5:機能モジュール(マスキング対象外)フラグ - // bit4:機能モジュール描画データ - // bit1:エンコードデータ - // bit0:マスク後エンコード描画データ - // 20hとの論理和により機能モジュール判定、11hとの論理和により描画(最終的にはBOOL値化) + // bit5:@\W[i}XLOΏۊOjtO + // bit4:@\W[`f[^ + // bit1:GR[hf[^ + // bit0:}XNGR[h`f[^ + // 20hƂ̘_aɂ@\W[A11hƂ̘_aɂ`iŏIIɂBOOLlj private: - int m_ncDataCodeWordBit; // データコードワードビット長 - BYTE m_byDataCodeWord[MAX_DATACODEWORD]; // 入力データエンコードエリア + int m_ncDataCodeWordBit; // f[^R[h[hrbg + BYTE m_byDataCodeWord[MAX_DATACODEWORD]; // ̓f[^GR[hGA int m_ncDataBlock; BYTE m_byBlockMode[MAX_DATACODEWORD]; int m_nBlockLength[MAX_DATACODEWORD]; - int m_ncAllCodeWord; // 総コードワード数(RS誤り訂正データを含む) - BYTE m_byAllCodeWord[MAX_ALLCODEWORD]; // 総コードワード算出エリア - BYTE m_byRSWork[MAX_CODEBLOCK]; // RSコードワード算出ワーク + int m_ncAllCodeWord; // R[h[h(qrf[^܂) + BYTE m_byAllCodeWord[MAX_ALLCODEWORD]; // R[h[hZoGA + BYTE m_byRSWork[MAX_CODEBLOCK]; // qrR[h[hZo[N -// データエンコード関連ファンクション +// f[^GR[h֘At@NV public: BOOL EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMaskingNo, LPCSTR lpsSource, int ncSource = 0); private: int GetEncodeVersion(int nVersion, LPCSTR lpsSource, int ncLength); @@ -131,10 +131,10 @@ BYTE AlphabetToBinaly(unsigned char c); WORD KanjiToBinaly(WORD wc); void GetRSCodeWord(LPBYTE lpbyRSWork, int ncDataCodeWord, int ncRSCodeWord); -// モジュール配置関連ファンクション +// W[zu֘At@NV private: void FormatModule(); void SetFunctionModule(); void SetFinderPattern(int x, int y);