rqr 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +5 -0
- data/Manifest.txt +1 -0
- data/README.txt +6 -0
- data/Rakefile +1 -0
- data/config/hoe.rb +18 -2
- data/ext/rqr/QR_Encode.cpp +199 -199
- data/ext/rqr/QR_Encode.h +47 -47
- data/ext/rqr/extconf.rb +8 -1
- data/ext/rqr/qr_draw.h +23 -9
- data/ext/rqr/qr_draw_jpeg.cpp +6 -33
- data/ext/rqr/qr_draw_jpeg.h +3 -3
- data/ext/rqr/qr_draw_png.cpp +13 -40
- data/ext/rqr/qr_draw_png.h +3 -3
- data/ext/rqr/qr_draw_ps.cpp +17 -24
- data/ext/rqr/qr_draw_ps.h +3 -2
- data/ext/rqr/qr_draw_tiff.cpp +19 -46
- data/ext/rqr/qr_draw_tiff.h +3 -3
- data/ext/rqr/qr_wrap.cxx +60 -71
- data/lib/rqr/qrcode.rb +1 -0
- data/lib/rqr/version.rb +2 -2
- metadata +2 -2
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
data/README.txt
CHANGED
@@ -46,6 +46,12 @@ If using OSX, Use Fink(http://www.finkproject.org) Universal Binary libs.
|
|
46
46
|
* sudo fink install libpng
|
47
47
|
* sudo fink install libtiff
|
48
48
|
|
49
|
+
or use MacPorts (http://www.macports.com)
|
50
|
+
* sudo port install jpeg
|
51
|
+
* sudo port install libpng
|
52
|
+
* sudo port install tiff
|
53
|
+
|
54
|
+
|
49
55
|
== INSTALL:
|
50
56
|
|
51
57
|
* sudo gem install rqr
|
data/Rakefile
CHANGED
data/config/hoe.rb
CHANGED
@@ -42,7 +42,18 @@ class Hoe
|
|
42
42
|
def extra_deps
|
43
43
|
@extra_deps.reject! { |x| Array(x).first == 'hoe' }
|
44
44
|
@extra_deps
|
45
|
-
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def spec= s
|
48
|
+
|
49
|
+
if PACKAGE_PLATFORM =~ /mswin32/
|
50
|
+
s.files = s.files.reject! {|f| f =~ /extconf\.rb/ }
|
51
|
+
else
|
52
|
+
s.files = s.files.reject! {|f| f =~ /QR\.so/ }
|
53
|
+
end
|
54
|
+
@spec = s
|
55
|
+
end
|
56
|
+
|
46
57
|
end
|
47
58
|
|
48
59
|
# Generate all the Rake tasks
|
@@ -61,7 +72,12 @@ $hoe = Hoe.new(GEM_NAME, VERS) do |p|
|
|
61
72
|
#p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
|
62
73
|
|
63
74
|
#p.spec_extras = {} # A hash of extra values to set in the gemspec.
|
64
|
-
|
75
|
+
if PACKAGE_PLATFORM =~ /mswin32/
|
76
|
+
platform = Gem::Platform.respond_to?(:new) ? Gem::Platform.new('mswin32') : Gem::Platform::WIN32
|
77
|
+
p.spec_extras[:platform] = platform
|
78
|
+
else
|
79
|
+
p.spec_extras[:extensions] = ['ext/rqr/extconf.rb']
|
80
|
+
end
|
65
81
|
|
66
82
|
end
|
67
83
|
|
data/ext/rqr/QR_Encode.cpp
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
//// QR_Encode.cpp : CQR_Encode
|
1
|
+
//// QR_Encode.cpp : CQR_Encode �N���X �C���v�������e�[�V���� �t�@�C��
|
2
2
|
//// Date 2006/05/17 Ver. 1.12 [Class Ver.1.21] Psytec Inc.
|
3
3
|
//
|
4
4
|
//#include "stdafx.h"
|
@@ -11,8 +11,8 @@
|
|
11
11
|
//#endif
|
12
12
|
|
13
13
|
/////////////////////////////////////////////////////////////////////////////
|
14
|
-
// QR
|
15
|
-
static QR_VERSIONINFO QR_VersonInfo[] = {{0}, // (
|
14
|
+
// QR�R�[�h�o�[�W����(�^��)���
|
15
|
+
static QR_VERSIONINFO QR_VersonInfo[] = {{0}, // (�_�~�[:Ver.0)
|
16
16
|
{ 1, // Ver.1
|
17
17
|
26, 19, 16, 13, 9,
|
18
18
|
0, 0, 0, 0, 0, 0, 0,
|
@@ -457,7 +457,7 @@ static QR_VERSIONINFO QR_VersonInfo[] = {{0}, // (ダミー:Ver.0)
|
|
457
457
|
|
458
458
|
|
459
459
|
/////////////////////////////////////////////////////////////////////////////
|
460
|
-
// GF(2^8)
|
460
|
+
// GF(2^8)���w���������ϊ��e�[�u��
|
461
461
|
static BYTE byExpToInt[] = { 1, 2, 4, 8, 16, 32, 64, 128, 29, 58, 116, 232, 205, 135, 19, 38,
|
462
462
|
76, 152, 45, 90, 180, 117, 234, 201, 143, 3, 6, 12, 24, 48, 96, 192,
|
463
463
|
157, 39, 78, 156, 37, 74, 148, 53, 106, 212, 181, 119, 238, 193, 159, 35,
|
@@ -477,7 +477,7 @@ static BYTE byExpToInt[] = { 1, 2, 4, 8, 16, 32, 64, 128, 29, 58, 11
|
|
477
477
|
|
478
478
|
|
479
479
|
/////////////////////////////////////////////////////////////////////////////
|
480
|
-
// GF(2^8)
|
480
|
+
// GF(2^8)���������w���ϊ��e�[�u��
|
481
481
|
static BYTE byIntToExp[] = { 0, 0, 1, 25, 2, 50, 26, 198, 3, 223, 51, 238, 27, 104, 199, 75,
|
482
482
|
4, 100, 224, 14, 52, 141, 239, 129, 28, 193, 105, 248, 200, 8, 76, 113,
|
483
483
|
5, 138, 101, 47, 225, 36, 15, 33, 53, 147, 142, 218, 240, 18, 130, 69,
|
@@ -497,7 +497,7 @@ static BYTE byIntToExp[] = { 0, 0, 1, 25, 2, 50, 26, 198, 3, 223, 5
|
|
497
497
|
|
498
498
|
|
499
499
|
/////////////////////////////////////////////////////////////////////////////
|
500
|
-
//
|
500
|
+
// �������������������W��
|
501
501
|
static BYTE byRSExp7[] = {87, 229, 146, 149, 238, 102, 21};
|
502
502
|
static BYTE byRSExp10[] = {251, 67, 46, 61, 118, 70, 64, 94, 32, 45};
|
503
503
|
static BYTE byRSExp13[] = { 74, 152, 176, 100, 86, 100, 106, 104, 130, 218, 206, 140, 78};
|
@@ -581,7 +581,7 @@ static LPBYTE byRSExp[] = {NULL, NULL, NULL, NULL, NULL,
|
|
581
581
|
byRSExp50, NULL, byRSExp52, NULL, byRSExp54, NULL, byRSExp56, NULL, byRSExp58, NULL,
|
582
582
|
byRSExp60, NULL, byRSExp62, NULL, byRSExp64, NULL, byRSExp66, NULL, byRSExp68};
|
583
583
|
|
584
|
-
//
|
584
|
+
// �������C���W�P�[�^�r�b�g��(�o�[�W�����O���[�v��, {S, M, L})
|
585
585
|
static int nIndicatorLenNumeral[] = {10, 12, 14};
|
586
586
|
static int nIndicatorLenAlphabet[] = { 9, 11, 13};
|
587
587
|
static int nIndicatorLen8Bit[] = { 8, 16, 16};
|
@@ -589,7 +589,7 @@ static int nIndicatorLenKanji[] = { 8, 10, 12};
|
|
589
589
|
|
590
590
|
|
591
591
|
/////////////////////////////////////////////////////////////////////////////
|
592
|
-
// QR_Encode
|
592
|
+
// QR_Encode �N���X�̍\�z/����
|
593
593
|
|
594
594
|
CQR_Encode::CQR_Encode()
|
595
595
|
{
|
@@ -602,9 +602,9 @@ CQR_Encode::~CQR_Encode()
|
|
602
602
|
|
603
603
|
/////////////////////////////////////////////////////////////////////////////
|
604
604
|
// CQR_Encode::EncodeData
|
605
|
-
//
|
606
|
-
//
|
607
|
-
//
|
605
|
+
// �p �r�F�f�[�^�G���R�[�h
|
606
|
+
// �� ���F���������x���A�^��(0=����)�A�^�Ԏ����g���t���O�A�}�X�L���O�ԍ�(-1=����)�A�G���R�[�h�f�[�^�A�G���R�[�h�f�[�^��
|
607
|
+
// �߂�l�F�G���R�[�h������=TRUE�A�f�[�^�Ȃ��A�܂��͗e�ʃI�[�o�[��=FALSE
|
608
608
|
|
609
609
|
BOOL CQR_Encode::EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMaskingNo, LPCSTR lpsSource, int ncSource)
|
610
610
|
{
|
@@ -613,21 +613,21 @@ BOOL CQR_Encode::EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMas
|
|
613
613
|
m_nLevel = nLevel;
|
614
614
|
m_nMaskingNo = nMaskingNo;
|
615
615
|
|
616
|
-
//
|
616
|
+
// �f�[�^�����w�肳��Ă��Ȃ��ꍇ�� lstrlen �ɂ���Ď擾
|
617
617
|
int ncLength = ncSource > 0 ? ncSource : lstrlen(lpsSource);
|
618
618
|
|
619
619
|
if (ncLength == 0)
|
620
|
-
return FALSE; //
|
620
|
+
return FALSE; // �f�[�^�Ȃ�
|
621
621
|
|
622
|
-
//
|
622
|
+
// �o�[�W����(�^��)�`�F�b�N
|
623
623
|
int nEncodeVersion = GetEncodeVersion(nVersion, lpsSource, ncLength);
|
624
624
|
|
625
625
|
if (nEncodeVersion == 0)
|
626
|
-
return FALSE; //
|
626
|
+
return FALSE; // �e�ʃI�[�o�[
|
627
627
|
|
628
628
|
if (nVersion == 0)
|
629
629
|
{
|
630
|
-
//
|
630
|
+
// �^�Ԏ���
|
631
631
|
m_nVersion = nEncodeVersion;
|
632
632
|
}
|
633
633
|
else
|
@@ -639,13 +639,13 @@ BOOL CQR_Encode::EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMas
|
|
639
639
|
else
|
640
640
|
{
|
641
641
|
if (bAutoExtent)
|
642
|
-
m_nVersion = nEncodeVersion; //
|
642
|
+
m_nVersion = nEncodeVersion; // �o�[�W����(�^��)�����g��
|
643
643
|
else
|
644
|
-
return FALSE; //
|
644
|
+
return FALSE; // �e�ʃI�[�o�[
|
645
645
|
}
|
646
646
|
}
|
647
647
|
|
648
|
-
//
|
648
|
+
// �^�[�~�l�[�^�R�[�h"0000"�t��
|
649
649
|
int ncDataCodeWord = QR_VersonInfo[m_nVersion].ncDataCodeWord[nLevel];
|
650
650
|
|
651
651
|
int ncTerminater = min(4, (ncDataCodeWord * 8) - m_ncDataCodeWordBit);
|
@@ -653,7 +653,7 @@ BOOL CQR_Encode::EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMas
|
|
653
653
|
if (ncTerminater > 0)
|
654
654
|
m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, 0, ncTerminater);
|
655
655
|
|
656
|
-
//
|
656
|
+
// �p�f�B���O�R�[�h"11101100, 00010001"�t��
|
657
657
|
BYTE byPaddingCode = 0xec;
|
658
658
|
|
659
659
|
for (i = (m_ncDataCodeWordBit + 7) / 8; i < ncDataCodeWord; ++i)
|
@@ -663,24 +663,24 @@ BOOL CQR_Encode::EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMas
|
|
663
663
|
byPaddingCode = (BYTE)(byPaddingCode == 0xec ? 0x11 : 0xec);
|
664
664
|
}
|
665
665
|
|
666
|
-
//
|
666
|
+
// ���R�[�h���[�h�Z�o�G���A�N���A
|
667
667
|
m_ncAllCodeWord = QR_VersonInfo[m_nVersion].ncAllCodeWord;
|
668
668
|
ZeroMemory(m_byAllCodeWord, m_ncAllCodeWord);
|
669
669
|
|
670
|
-
int nDataCwIndex = 0; //
|
670
|
+
int nDataCwIndex = 0; // �f�[�^�R�[�h���[�h�����ʒu
|
671
671
|
|
672
|
-
//
|
672
|
+
// �f�[�^�u���b�N������
|
673
673
|
int ncBlock1 = QR_VersonInfo[m_nVersion].RS_BlockInfo1[nLevel].ncRSBlock;
|
674
674
|
int ncBlock2 = QR_VersonInfo[m_nVersion].RS_BlockInfo2[nLevel].ncRSBlock;
|
675
675
|
int ncBlockSum = ncBlock1 + ncBlock2;
|
676
676
|
|
677
|
-
int nBlockNo = 0; //
|
677
|
+
int nBlockNo = 0; // �������u���b�N�ԍ�
|
678
678
|
|
679
|
-
//
|
679
|
+
// �u���b�N�ʃf�[�^�R�[�h���[�h��
|
680
680
|
int ncDataCw1 = QR_VersonInfo[m_nVersion].RS_BlockInfo1[nLevel].ncDataCodeWord;
|
681
681
|
int ncDataCw2 = QR_VersonInfo[m_nVersion].RS_BlockInfo2[nLevel].ncDataCodeWord;
|
682
682
|
|
683
|
-
//
|
683
|
+
// �f�[�^�R�[�h���[�h�C���^�[���[�u�z�u
|
684
684
|
for (i = 0; i < ncBlock1; ++i)
|
685
685
|
{
|
686
686
|
for (j = 0; j < ncDataCw1; ++j)
|
@@ -701,7 +701,7 @@ BOOL CQR_Encode::EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMas
|
|
701
701
|
}
|
702
702
|
else
|
703
703
|
{
|
704
|
-
//
|
704
|
+
// �Q��ڃu���b�N�[�����z�u
|
705
705
|
m_byAllCodeWord[(ncBlockSum * ncDataCw1) + i] = m_byDataCodeWord[nDataCwIndex++];
|
706
706
|
}
|
707
707
|
}
|
@@ -709,12 +709,12 @@ BOOL CQR_Encode::EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMas
|
|
709
709
|
++nBlockNo;
|
710
710
|
}
|
711
711
|
|
712
|
-
//
|
712
|
+
// �u���b�N�ʂq�r�R�[�h���[�h��(������ł͓���)
|
713
713
|
int ncRSCw1 = QR_VersonInfo[m_nVersion].RS_BlockInfo1[nLevel].ncAllCodeWord - ncDataCw1;
|
714
714
|
int ncRSCw2 = QR_VersonInfo[m_nVersion].RS_BlockInfo2[nLevel].ncAllCodeWord - ncDataCw2;
|
715
715
|
|
716
716
|
/////////////////////////////////////////////////////////////////////////
|
717
|
-
//
|
717
|
+
// �q�r�R�[�h���[�h�Z�o
|
718
718
|
|
719
719
|
nDataCwIndex = 0;
|
720
720
|
nBlockNo = 0;
|
@@ -727,7 +727,7 @@ BOOL CQR_Encode::EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMas
|
|
727
727
|
|
728
728
|
GetRSCodeWord(m_byRSWork, ncDataCw1, ncRSCw1);
|
729
729
|
|
730
|
-
//
|
730
|
+
// �q�r�R�[�h���[�h�z�u
|
731
731
|
for (j = 0; j < ncRSCw1; ++j)
|
732
732
|
{
|
733
733
|
m_byAllCodeWord[ncDataCodeWord + (ncBlockSum * j) + nBlockNo] = m_byRSWork[j];
|
@@ -745,7 +745,7 @@ BOOL CQR_Encode::EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMas
|
|
745
745
|
|
746
746
|
GetRSCodeWord(m_byRSWork, ncDataCw2, ncRSCw2);
|
747
747
|
|
748
|
-
//
|
748
|
+
// �q�r�R�[�h���[�h�z�u
|
749
749
|
for (j = 0; j < ncRSCw2; ++j)
|
750
750
|
{
|
751
751
|
m_byAllCodeWord[ncDataCodeWord + (ncBlockSum * j) + nBlockNo] = m_byRSWork[j];
|
@@ -757,7 +757,7 @@ BOOL CQR_Encode::EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMas
|
|
757
757
|
|
758
758
|
m_nSymbleSize = m_nVersion * 4 + 17;
|
759
759
|
|
760
|
-
//
|
760
|
+
// ���W���[���z�u
|
761
761
|
FormatModule();
|
762
762
|
|
763
763
|
return TRUE;
|
@@ -766,9 +766,9 @@ BOOL CQR_Encode::EncodeData(int nLevel, int nVersion, BOOL bAutoExtent, int nMas
|
|
766
766
|
|
767
767
|
/////////////////////////////////////////////////////////////////////////////
|
768
768
|
// CQR_Encode::GetEncodeVersion
|
769
|
-
//
|
770
|
-
//
|
771
|
-
//
|
769
|
+
// �p �r�F�G���R�[�h���o�[�W����(�^��)�擾
|
770
|
+
// �� ���F�����J�n�o�[�W�����A�G���R�[�h�f�[�^�A�G���R�[�h�f�[�^��
|
771
|
+
// �߂�l�F�o�[�W�����ԍ��i�e�ʃI�[�o�[��=0�j
|
772
772
|
|
773
773
|
int CQR_Encode::GetEncodeVersion(int nVersion, LPCSTR lpsSource, int ncLength)
|
774
774
|
{
|
@@ -812,9 +812,9 @@ int CQR_Encode::GetEncodeVersion(int nVersion, LPCSTR lpsSource, int ncLength)
|
|
812
812
|
|
813
813
|
/////////////////////////////////////////////////////////////////////////////
|
814
814
|
// CQR_Encode::EncodeSourceData
|
815
|
-
//
|
816
|
-
//
|
817
|
-
//
|
815
|
+
// �p �r�F���̓f�[�^�G���R�[�h
|
816
|
+
// �� ���F���̓f�[�^�A���̓f�[�^���A�o�[�W����(�^��)�O���[�v
|
817
|
+
// �߂�l�F�G���R�[�h������=TRUE
|
818
818
|
|
819
819
|
BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
820
820
|
{
|
@@ -822,7 +822,7 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
822
822
|
|
823
823
|
int i, j;
|
824
824
|
|
825
|
-
//
|
825
|
+
// �ǂ̃��[�h��������(�o�C�g)�p�����Ă��邩��
|
826
826
|
for (m_ncDataBlock = i = 0; i < ncLength; ++i)
|
827
827
|
{
|
828
828
|
BYTE byMode;
|
@@ -846,7 +846,7 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
846
846
|
|
847
847
|
if (byMode == QR_MODE_KANJI)
|
848
848
|
{
|
849
|
-
//
|
849
|
+
// �����͕������ł͂Ȃ� ���ŋL�^
|
850
850
|
++m_nBlockLength[m_ncDataBlock];
|
851
851
|
++i;
|
852
852
|
}
|
@@ -855,22 +855,22 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
855
855
|
++m_ncDataBlock;
|
856
856
|
|
857
857
|
/////////////////////////////////////////////////////////////////////////
|
858
|
-
//
|
858
|
+
// �אڂ���p�������[�h�u���b�N�Ɛ������[�h�u���b�N�̕��т��������ɂ�茋��
|
859
859
|
|
860
|
-
int ncSrcBits, ncDstBits; //
|
860
|
+
int ncSrcBits, ncDstBits; // ���̃r�b�g���ƒP��̉p�������[�h�u���b�N�������ꍇ�̃r�b�g��
|
861
861
|
|
862
862
|
int nBlock = 0;
|
863
863
|
|
864
864
|
while (nBlock < m_ncDataBlock - 1)
|
865
865
|
{
|
866
|
-
int ncJoinFront, ncJoinBehind; //
|
867
|
-
int nJoinPosition = 0; //
|
866
|
+
int ncJoinFront, ncJoinBehind; // �O��W�r�b�g�o�C�g���[�h�u���b�N�ƌ��������ꍇ�̃r�b�g��
|
867
|
+
int nJoinPosition = 0; // �W�r�b�g�o�C�g���[�h�u���b�N�Ƃ̌����F-1=�O�ƌ����A0=�������Ȃ��A1=���ƌ���
|
868
868
|
|
869
|
-
//
|
869
|
+
// �u�����|�p�����v�܂��́u�p�����|�����v�̕���
|
870
870
|
if ((m_byBlockMode[nBlock] == QR_MODE_NUMERAL && m_byBlockMode[nBlock + 1] == QR_MODE_ALPHABET) ||
|
871
871
|
(m_byBlockMode[nBlock] == QR_MODE_ALPHABET && m_byBlockMode[nBlock + 1] == QR_MODE_NUMERAL))
|
872
872
|
{
|
873
|
-
//
|
873
|
+
// ���̃r�b�g���ƒP��̉p�������[�h�u���b�N�������ꍇ�̃r�b�g�����r
|
874
874
|
ncSrcBits = GetBitLength(m_byBlockMode[nBlock], m_nBlockLength[nBlock], nVerGroup) +
|
875
875
|
GetBitLength(m_byBlockMode[nBlock + 1], m_nBlockLength[nBlock + 1], nVerGroup);
|
876
876
|
|
@@ -878,34 +878,34 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
878
878
|
|
879
879
|
if (ncSrcBits > ncDstBits)
|
880
880
|
{
|
881
|
-
//
|
881
|
+
// �O��ɂW�r�b�g�o�C�g���[�h�u���b�N������ꍇ�A�����Ƃ̌������L�����ǂ������`�F�b�N
|
882
882
|
if (nBlock >= 1 && m_byBlockMode[nBlock - 1] == QR_MODE_8BIT)
|
883
883
|
{
|
884
|
-
//
|
884
|
+
// �O�ɂW�r�b�g�o�C�g���[�h�u���b�N����
|
885
885
|
ncJoinFront = GetBitLength(QR_MODE_8BIT, m_nBlockLength[nBlock - 1] + m_nBlockLength[nBlock], nVerGroup) +
|
886
886
|
GetBitLength(m_byBlockMode[nBlock + 1], m_nBlockLength[nBlock + 1], nVerGroup);
|
887
887
|
|
888
888
|
if (ncJoinFront > ncDstBits + GetBitLength(QR_MODE_8BIT, m_nBlockLength[nBlock - 1], nVerGroup))
|
889
|
-
ncJoinFront = 0; //
|
889
|
+
ncJoinFront = 0; // �W�r�b�g�o�C�g���[�h�u���b�N�Ƃ͌������Ȃ�
|
890
890
|
}
|
891
891
|
else
|
892
892
|
ncJoinFront = 0;
|
893
893
|
|
894
894
|
if (nBlock < m_ncDataBlock - 2 && m_byBlockMode[nBlock + 2] == QR_MODE_8BIT)
|
895
895
|
{
|
896
|
-
//
|
896
|
+
// ���ɂW�r�b�g�o�C�g���[�h�u���b�N����
|
897
897
|
ncJoinBehind = GetBitLength(m_byBlockMode[nBlock], m_nBlockLength[nBlock], nVerGroup) +
|
898
898
|
GetBitLength(QR_MODE_8BIT, m_nBlockLength[nBlock + 1] + m_nBlockLength[nBlock + 2], nVerGroup);
|
899
899
|
|
900
900
|
if (ncJoinBehind > ncDstBits + GetBitLength(QR_MODE_8BIT, m_nBlockLength[nBlock + 2], nVerGroup))
|
901
|
-
ncJoinBehind = 0; //
|
901
|
+
ncJoinBehind = 0; // �W�r�b�g�o�C�g���[�h�u���b�N�Ƃ͌������Ȃ�
|
902
902
|
}
|
903
903
|
else
|
904
904
|
ncJoinBehind = 0;
|
905
905
|
|
906
906
|
if (ncJoinFront != 0 && ncJoinBehind != 0)
|
907
907
|
{
|
908
|
-
//
|
908
|
+
// �O�㗼���ɂW�r�b�g�o�C�g���[�h�u���b�N������ꍇ�̓f�[�^�����Z���Ȃ����D��
|
909
909
|
nJoinPosition = (ncJoinFront < ncJoinBehind) ? -1 : 1;
|
910
910
|
}
|
911
911
|
else
|
@@ -915,12 +915,12 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
915
915
|
|
916
916
|
if (nJoinPosition != 0)
|
917
917
|
{
|
918
|
-
//
|
918
|
+
// �W�r�b�g�o�C�g���[�h�u���b�N�Ƃ̌���
|
919
919
|
if (nJoinPosition == -1)
|
920
920
|
{
|
921
921
|
m_nBlockLength[nBlock - 1] += m_nBlockLength[nBlock];
|
922
922
|
|
923
|
-
//
|
923
|
+
// �㑱���V�t�g
|
924
924
|
for (i = nBlock; i < m_ncDataBlock - 1; ++i)
|
925
925
|
{
|
926
926
|
m_byBlockMode[i] = m_byBlockMode[i + 1];
|
@@ -932,7 +932,7 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
932
932
|
m_byBlockMode[nBlock + 1] = QR_MODE_8BIT;
|
933
933
|
m_nBlockLength[nBlock + 1] += m_nBlockLength[nBlock + 2];
|
934
934
|
|
935
|
-
//
|
935
|
+
// �㑱���V�t�g
|
936
936
|
for (i = nBlock + 2; i < m_ncDataBlock - 1; ++i)
|
937
937
|
{
|
938
938
|
m_byBlockMode[i] = m_byBlockMode[i + 1];
|
@@ -944,14 +944,14 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
944
944
|
}
|
945
945
|
else
|
946
946
|
{
|
947
|
-
//
|
947
|
+
// �p�����Ɛ����̕��т�P��̉p�������[�h�u���b�N�ɓ���
|
948
948
|
|
949
949
|
if (nBlock < m_ncDataBlock - 2 && m_byBlockMode[nBlock + 2] == QR_MODE_ALPHABET)
|
950
950
|
{
|
951
|
-
//
|
951
|
+
// �������悤�Ƃ���u���b�N�̌��ɑ����p�������[�h�u���b�N������
|
952
952
|
m_nBlockLength[nBlock + 1] += m_nBlockLength[nBlock + 2];
|
953
953
|
|
954
|
-
//
|
954
|
+
// �㑱���V�t�g
|
955
955
|
for (i = nBlock + 2; i < m_ncDataBlock - 1; ++i)
|
956
956
|
{
|
957
957
|
m_byBlockMode[i] = m_byBlockMode[i + 1];
|
@@ -964,7 +964,7 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
964
964
|
m_byBlockMode[nBlock] = QR_MODE_ALPHABET;
|
965
965
|
m_nBlockLength[nBlock] += m_nBlockLength[nBlock + 1];
|
966
966
|
|
967
|
-
//
|
967
|
+
// �㑱���V�t�g
|
968
968
|
for (i = nBlock + 1; i < m_ncDataBlock - 1; ++i)
|
969
969
|
{
|
970
970
|
m_byBlockMode[i] = m_byBlockMode[i + 1];
|
@@ -975,10 +975,10 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
975
975
|
|
976
976
|
if (nBlock >= 1 && m_byBlockMode[nBlock - 1] == QR_MODE_ALPHABET)
|
977
977
|
{
|
978
|
-
//
|
978
|
+
// ���������u���b�N�̑O�̉p�������[�h�u���b�N������
|
979
979
|
m_nBlockLength[nBlock - 1] += m_nBlockLength[nBlock];
|
980
980
|
|
981
|
-
//
|
981
|
+
// �㑱���V�t�g
|
982
982
|
for (i = nBlock; i < m_ncDataBlock - 1; ++i)
|
983
983
|
{
|
984
984
|
m_byBlockMode[i] = m_byBlockMode[i + 1];
|
@@ -989,15 +989,15 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
989
989
|
}
|
990
990
|
}
|
991
991
|
|
992
|
-
continue; //
|
992
|
+
continue; // ���݈ʒu�̃u���b�N���Ē���
|
993
993
|
}
|
994
994
|
}
|
995
995
|
|
996
|
-
++nBlock; //
|
996
|
+
++nBlock; // ���u���b�N��
|
997
997
|
}
|
998
998
|
|
999
999
|
/////////////////////////////////////////////////////////////////////////
|
1000
|
-
//
|
1000
|
+
// �A������Z�����[�h�u���b�N���W�r�b�g�o�C�g���[�h�u���b�N��
|
1001
1001
|
|
1002
1002
|
nBlock = 0;
|
1003
1003
|
|
@@ -1008,11 +1008,11 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1008
1008
|
|
1009
1009
|
ncDstBits = GetBitLength(QR_MODE_8BIT, m_nBlockLength[nBlock] + m_nBlockLength[nBlock + 1], nVerGroup);
|
1010
1010
|
|
1011
|
-
//
|
1011
|
+
// �O�ɂW�r�b�g�o�C�g���[�h�u���b�N������ꍇ�A�d������C���W�P�[�^�������Z
|
1012
1012
|
if (nBlock >= 1 && m_byBlockMode[nBlock - 1] == QR_MODE_8BIT)
|
1013
1013
|
ncDstBits -= (4 + nIndicatorLen8Bit[nVerGroup]);
|
1014
1014
|
|
1015
|
-
//
|
1015
|
+
// ���ɂW�r�b�g�o�C�g���[�h�u���b�N������ꍇ�A�d������C���W�P�[�^�������Z
|
1016
1016
|
if (nBlock < m_ncDataBlock - 2 && m_byBlockMode[nBlock + 2] == QR_MODE_8BIT)
|
1017
1017
|
ncDstBits -= (4 + nIndicatorLen8Bit[nVerGroup]);
|
1018
1018
|
|
@@ -1020,10 +1020,10 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1020
1020
|
{
|
1021
1021
|
if (nBlock >= 1 && m_byBlockMode[nBlock - 1] == QR_MODE_8BIT)
|
1022
1022
|
{
|
1023
|
-
//
|
1023
|
+
// ��������u���b�N�̑O�ɂ���W�r�b�g�o�C�g���[�h�u���b�N������
|
1024
1024
|
m_nBlockLength[nBlock - 1] += m_nBlockLength[nBlock];
|
1025
1025
|
|
1026
|
-
//
|
1026
|
+
// �㑱���V�t�g
|
1027
1027
|
for (i = nBlock; i < m_ncDataBlock - 1; ++i)
|
1028
1028
|
{
|
1029
1029
|
m_byBlockMode[i] = m_byBlockMode[i + 1];
|
@@ -1036,10 +1036,10 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1036
1036
|
|
1037
1037
|
if (nBlock < m_ncDataBlock - 2 && m_byBlockMode[nBlock + 2] == QR_MODE_8BIT)
|
1038
1038
|
{
|
1039
|
-
//
|
1039
|
+
// ��������u���b�N�̌��ɂ���W�r�b�g�o�C�g���[�h�u���b�N������
|
1040
1040
|
m_nBlockLength[nBlock + 1] += m_nBlockLength[nBlock + 2];
|
1041
1041
|
|
1042
|
-
//
|
1042
|
+
// �㑱���V�t�g
|
1043
1043
|
for (i = nBlock + 2; i < m_ncDataBlock - 1; ++i)
|
1044
1044
|
{
|
1045
1045
|
m_byBlockMode[i] = m_byBlockMode[i + 1];
|
@@ -1052,7 +1052,7 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1052
1052
|
m_byBlockMode[nBlock] = QR_MODE_8BIT;
|
1053
1053
|
m_nBlockLength[nBlock] += m_nBlockLength[nBlock + 1];
|
1054
1054
|
|
1055
|
-
//
|
1055
|
+
// �㑱���V�t�g
|
1056
1056
|
for (i = nBlock + 1; i < m_ncDataBlock - 1; ++i)
|
1057
1057
|
{
|
1058
1058
|
m_byBlockMode[i] = m_byBlockMode[i + 1];
|
@@ -1061,22 +1061,22 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1061
1061
|
|
1062
1062
|
--m_ncDataBlock;
|
1063
1063
|
|
1064
|
-
//
|
1064
|
+
// ���������u���b�N�̑O����Ē���
|
1065
1065
|
if (nBlock >= 1)
|
1066
1066
|
--nBlock;
|
1067
1067
|
|
1068
1068
|
continue;
|
1069
1069
|
}
|
1070
1070
|
|
1071
|
-
++nBlock; //
|
1071
|
+
++nBlock; // ���u���b�N��
|
1072
1072
|
}
|
1073
1073
|
|
1074
1074
|
/////////////////////////////////////////////////////////////////////////
|
1075
|
-
//
|
1076
|
-
int ncComplete = 0; //
|
1075
|
+
// �r�b�g�z��
|
1076
|
+
int ncComplete = 0; // �����σf�[�^�J�E���^
|
1077
1077
|
WORD wBinCode;
|
1078
1078
|
|
1079
|
-
m_ncDataCodeWordBit = 0; //
|
1079
|
+
m_ncDataCodeWordBit = 0; // �r�b�g�P�ʏ����J�E���^
|
1080
1080
|
|
1081
1081
|
ZeroMemory(m_byDataCodeWord, MAX_DATACODEWORD);
|
1082
1082
|
|
@@ -1085,15 +1085,15 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1085
1085
|
if (m_byBlockMode[i] == QR_MODE_NUMERAL)
|
1086
1086
|
{
|
1087
1087
|
/////////////////////////////////////////////////////////////////
|
1088
|
-
//
|
1088
|
+
// �������[�h
|
1089
1089
|
|
1090
|
-
//
|
1090
|
+
// �C���W�P�[�^(0001b)
|
1091
1091
|
m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, 1, 4);
|
1092
1092
|
|
1093
|
-
//
|
1093
|
+
// �������Z�b�g
|
1094
1094
|
m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, (WORD)m_nBlockLength[i], nIndicatorLenNumeral[nVerGroup]);
|
1095
1095
|
|
1096
|
-
//
|
1096
|
+
// �r�b�g��ۑ�
|
1097
1097
|
for (j = 0; j < m_nBlockLength[i]; j += 3)
|
1098
1098
|
{
|
1099
1099
|
if (j < m_nBlockLength[i] - 2)
|
@@ -1106,7 +1106,7 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1106
1106
|
}
|
1107
1107
|
else if (j == m_nBlockLength[i] - 2)
|
1108
1108
|
{
|
1109
|
-
//
|
1109
|
+
// �[���Q�o�C�g
|
1110
1110
|
wBinCode = (WORD)(((lpsSource[ncComplete + j] - '0') * 10) +
|
1111
1111
|
(lpsSource[ncComplete + j + 1] - '0'));
|
1112
1112
|
|
@@ -1114,7 +1114,7 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1114
1114
|
}
|
1115
1115
|
else if (j == m_nBlockLength[i] - 1)
|
1116
1116
|
{
|
1117
|
-
//
|
1117
|
+
// �[���P�o�C�g
|
1118
1118
|
wBinCode = (WORD)(lpsSource[ncComplete + j] - '0');
|
1119
1119
|
|
1120
1120
|
m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, wBinCode, 4);
|
@@ -1127,15 +1127,15 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1127
1127
|
else if (m_byBlockMode[i] == QR_MODE_ALPHABET)
|
1128
1128
|
{
|
1129
1129
|
/////////////////////////////////////////////////////////////////
|
1130
|
-
//
|
1130
|
+
// �p�������[�h
|
1131
1131
|
|
1132
|
-
//
|
1132
|
+
// ���[�h�C���W�P�[�^(0010b)
|
1133
1133
|
m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, 2, 4);
|
1134
1134
|
|
1135
|
-
//
|
1135
|
+
// �������Z�b�g
|
1136
1136
|
m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, (WORD)m_nBlockLength[i], nIndicatorLenAlphabet[nVerGroup]);
|
1137
1137
|
|
1138
|
-
//
|
1138
|
+
// �r�b�g��ۑ�
|
1139
1139
|
for (j = 0; j < m_nBlockLength[i]; j += 2)
|
1140
1140
|
{
|
1141
1141
|
if (j < m_nBlockLength[i] - 1)
|
@@ -1147,7 +1147,7 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1147
1147
|
}
|
1148
1148
|
else
|
1149
1149
|
{
|
1150
|
-
//
|
1150
|
+
// �[���P�o�C�g
|
1151
1151
|
wBinCode = (WORD)AlphabetToBinaly(lpsSource[ncComplete + j]);
|
1152
1152
|
|
1153
1153
|
m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, wBinCode, 6);
|
@@ -1160,15 +1160,15 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1160
1160
|
else if (m_byBlockMode[i] == QR_MODE_8BIT)
|
1161
1161
|
{
|
1162
1162
|
/////////////////////////////////////////////////////////////////
|
1163
|
-
//
|
1163
|
+
// �W�r�b�g�o�C�g���[�h
|
1164
1164
|
|
1165
|
-
//
|
1165
|
+
// ���[�h�C���W�P�[�^(0100b)
|
1166
1166
|
m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, 4, 4);
|
1167
1167
|
|
1168
|
-
//
|
1168
|
+
// �������Z�b�g
|
1169
1169
|
m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, (WORD)m_nBlockLength[i], nIndicatorLen8Bit[nVerGroup]);
|
1170
1170
|
|
1171
|
-
//
|
1171
|
+
// �r�b�g��ۑ�
|
1172
1172
|
for (j = 0; j < m_nBlockLength[i]; ++j)
|
1173
1173
|
{
|
1174
1174
|
m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, (WORD)lpsSource[ncComplete + j], 8);
|
@@ -1179,15 +1179,15 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1179
1179
|
else // m_byBlockMode[i] == QR_MODE_KANJI
|
1180
1180
|
{
|
1181
1181
|
/////////////////////////////////////////////////////////////////
|
1182
|
-
//
|
1182
|
+
// �������[�h
|
1183
1183
|
|
1184
|
-
//
|
1184
|
+
// ���[�h�C���W�P�[�^(1000b)
|
1185
1185
|
m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, 8, 4);
|
1186
1186
|
|
1187
|
-
//
|
1187
|
+
// �������Z�b�g
|
1188
1188
|
m_ncDataCodeWordBit = SetBitStream(m_ncDataCodeWordBit, (WORD)(m_nBlockLength[i] / 2), nIndicatorLenKanji[nVerGroup]);
|
1189
1189
|
|
1190
|
-
//
|
1190
|
+
// �������[�h�Ńr�b�g��ۑ�
|
1191
1191
|
for (j = 0; j < m_nBlockLength[i] / 2; ++j)
|
1192
1192
|
{
|
1193
1193
|
WORD wBinCode = KanjiToBinaly((WORD)(((BYTE)lpsSource[ncComplete + (j * 2)] << 8) + (BYTE)lpsSource[ncComplete + (j * 2) + 1]));
|
@@ -1205,10 +1205,10 @@ BOOL CQR_Encode::EncodeSourceData(LPCSTR lpsSource, int ncLength, int nVerGroup)
|
|
1205
1205
|
|
1206
1206
|
/////////////////////////////////////////////////////////////////////////////
|
1207
1207
|
// CQR_Encode::GetBitLength
|
1208
|
-
//
|
1209
|
-
//
|
1210
|
-
//
|
1211
|
-
//
|
1208
|
+
// �p �r�F�r�b�g���擾
|
1209
|
+
// �� ���F�f�[�^���[�h��ʁA�f�[�^���A�o�[�W����(�^��)�O���[�v
|
1210
|
+
// �߂�l�F�f�[�^�r�b�g��
|
1211
|
+
// �� �l�F�������[�h�ł̃f�[�^�������͕������ł͂Ȃ��o�C�g��
|
1212
1212
|
|
1213
1213
|
int CQR_Encode::GetBitLength(BYTE nMode, int ncData, int nVerGroup)
|
1214
1214
|
{
|
@@ -1251,10 +1251,10 @@ int CQR_Encode::GetBitLength(BYTE nMode, int ncData, int nVerGroup)
|
|
1251
1251
|
|
1252
1252
|
/////////////////////////////////////////////////////////////////////////////
|
1253
1253
|
// CQR_Encode::SetBitStream
|
1254
|
-
//
|
1255
|
-
//
|
1256
|
-
//
|
1257
|
-
//
|
1254
|
+
// �p �r�F�r�b�g�Z�b�g
|
1255
|
+
// �� ���F�}���ʒu�A�r�b�g�z��f�[�^�A�f�[�^�r�b�g��(�ő�16)
|
1256
|
+
// �߂�l�F����}���ʒu(�o�b�t�@�I�[�o�[��=-1)
|
1257
|
+
// �� �l�Fm_byDataCodeWord �Ɍ��ʂ��Z�b�g(�v�[��������)
|
1258
1258
|
|
1259
1259
|
int CQR_Encode::SetBitStream(int nIndex, WORD wData, int ncData)
|
1260
1260
|
{
|
@@ -1277,9 +1277,9 @@ int CQR_Encode::SetBitStream(int nIndex, WORD wData, int ncData)
|
|
1277
1277
|
|
1278
1278
|
/////////////////////////////////////////////////////////////////////////////
|
1279
1279
|
// CQR_Encode::IsNumeralData
|
1280
|
-
//
|
1281
|
-
//
|
1282
|
-
//
|
1280
|
+
// �p �r�F�������[�h�Y���`�F�b�N
|
1281
|
+
// �� ���F��������
|
1282
|
+
// �߂�l�F�Y����=TRUE
|
1283
1283
|
|
1284
1284
|
BOOL CQR_Encode::IsNumeralData(unsigned char c)
|
1285
1285
|
{
|
@@ -1292,9 +1292,9 @@ BOOL CQR_Encode::IsNumeralData(unsigned char c)
|
|
1292
1292
|
|
1293
1293
|
/////////////////////////////////////////////////////////////////////////////
|
1294
1294
|
// CQR_Encode::IsAlphabetData
|
1295
|
-
//
|
1296
|
-
//
|
1297
|
-
//
|
1295
|
+
// �p �r�F�p�������[�h�Y���`�F�b�N
|
1296
|
+
// �� ���F��������
|
1297
|
+
// �߂�l�F�Y����=TRUE
|
1298
1298
|
|
1299
1299
|
BOOL CQR_Encode::IsAlphabetData(unsigned char c)
|
1300
1300
|
{
|
@@ -1313,10 +1313,10 @@ BOOL CQR_Encode::IsAlphabetData(unsigned char c)
|
|
1313
1313
|
|
1314
1314
|
/////////////////////////////////////////////////////////////////////////////
|
1315
1315
|
// CQR_Encode::IsKanjiData
|
1316
|
-
//
|
1317
|
-
//
|
1318
|
-
//
|
1319
|
-
//
|
1316
|
+
// �p �r�F�������[�h�Y���`�F�b�N
|
1317
|
+
// �� ���F���������i16�r�b�g�����j
|
1318
|
+
// �߂�l�F�Y����=TRUE
|
1319
|
+
// �� �l�FEBBFh �ȍ~�� S-JIS �͑ΏۊO
|
1320
1320
|
|
1321
1321
|
BOOL CQR_Encode::IsKanjiData(unsigned char c1, unsigned char c2)
|
1322
1322
|
{
|
@@ -1334,9 +1334,9 @@ BOOL CQR_Encode::IsKanjiData(unsigned char c1, unsigned char c2)
|
|
1334
1334
|
|
1335
1335
|
/////////////////////////////////////////////////////////////////////////////
|
1336
1336
|
// CQR_Encode::AlphabetToBinaly
|
1337
|
-
//
|
1338
|
-
//
|
1339
|
-
//
|
1337
|
+
// �p �r�F�p�������[�h�����̃o�C�i����
|
1338
|
+
// �� ���F�Ώە���
|
1339
|
+
// �߂�l�F�o�C�i���l
|
1340
1340
|
|
1341
1341
|
BYTE CQR_Encode::AlphabetToBinaly(unsigned char c)
|
1342
1342
|
{
|
@@ -1366,9 +1366,9 @@ BYTE CQR_Encode::AlphabetToBinaly(unsigned char c)
|
|
1366
1366
|
|
1367
1367
|
/////////////////////////////////////////////////////////////////////////////
|
1368
1368
|
// CQR_Encode::KanjiToBinaly
|
1369
|
-
//
|
1370
|
-
//
|
1371
|
-
//
|
1369
|
+
// �p �r�F�������[�h�����̃o�C�i����
|
1370
|
+
// �� ���F�Ώە���
|
1371
|
+
// �߂�l�F�o�C�i���l
|
1372
1372
|
|
1373
1373
|
WORD CQR_Encode::KanjiToBinaly(WORD wc)
|
1374
1374
|
{
|
@@ -1383,9 +1383,9 @@ WORD CQR_Encode::KanjiToBinaly(WORD wc)
|
|
1383
1383
|
|
1384
1384
|
/////////////////////////////////////////////////////////////////////////////
|
1385
1385
|
// CQR_Encode::GetRSCodeWord
|
1386
|
-
//
|
1387
|
-
//
|
1388
|
-
//
|
1386
|
+
// �p �r�F�q�r�������R�[�h���[�h�擾
|
1387
|
+
// �� ���F�f�[�^�R�[�h���[�h�A�h���X�A�f�[�^�R�[�h���[�h���A�q�r�R�[�h���[�h��
|
1388
|
+
// �� �l�F���R�[�h���[�h���̃G���A���m�ۂ��Ă���Ăяo��
|
1389
1389
|
|
1390
1390
|
void CQR_Encode::GetRSCodeWord(LPBYTE lpbyRSWork, int ncDataCodeWord, int ncRSCodeWord)
|
1391
1391
|
{
|
@@ -1395,24 +1395,24 @@ void CQR_Encode::GetRSCodeWord(LPBYTE lpbyRSWork, int ncDataCodeWord, int ncRSCo
|
|
1395
1395
|
{
|
1396
1396
|
if (lpbyRSWork[0] != 0)
|
1397
1397
|
{
|
1398
|
-
BYTE nExpFirst = byIntToExp[lpbyRSWork[0]]; //
|
1398
|
+
BYTE nExpFirst = byIntToExp[lpbyRSWork[0]]; // �����W�����搔�Z�o
|
1399
1399
|
|
1400
1400
|
for (j = 0; j < ncRSCodeWord; ++j)
|
1401
1401
|
{
|
1402
|
-
//
|
1402
|
+
// �e���搔�ɏ����搔�����Z�i% 255 �� ��^255 = 1�j
|
1403
1403
|
BYTE nExpElement = (BYTE)(((int)(byRSExp[ncRSCodeWord][j] + nExpFirst)) % 255);
|
1404
1404
|
|
1405
|
-
//
|
1405
|
+
// �r���_���a�ɂ���]�Z�o
|
1406
1406
|
lpbyRSWork[j] = (BYTE)(lpbyRSWork[j + 1] ^ byExpToInt[nExpElement]);
|
1407
1407
|
}
|
1408
1408
|
|
1409
|
-
//
|
1409
|
+
// �c�茅���V�t�g
|
1410
1410
|
for (j = ncRSCodeWord; j < ncDataCodeWord + ncRSCodeWord - 1; ++j)
|
1411
1411
|
lpbyRSWork[j] = lpbyRSWork[j + 1];
|
1412
1412
|
}
|
1413
1413
|
else
|
1414
1414
|
{
|
1415
|
-
//
|
1415
|
+
// �c�茅���V�t�g
|
1416
1416
|
for (j = 0; j < ncDataCodeWord + ncRSCodeWord - 1; ++j)
|
1417
1417
|
lpbyRSWork[j] = lpbyRSWork[j + 1];
|
1418
1418
|
}
|
@@ -1422,8 +1422,8 @@ void CQR_Encode::GetRSCodeWord(LPBYTE lpbyRSWork, int ncDataCodeWord, int ncRSCo
|
|
1422
1422
|
|
1423
1423
|
/////////////////////////////////////////////////////////////////////////////
|
1424
1424
|
// CQR_Encode::FormatModule
|
1425
|
-
//
|
1426
|
-
//
|
1425
|
+
// �p �r�F���W���[���ւ̃f�[�^�z�u
|
1426
|
+
// �߂�l�F��ӂ̃��W���[����
|
1427
1427
|
|
1428
1428
|
void CQR_Encode::FormatModule()
|
1429
1429
|
{
|
@@ -1431,26 +1431,26 @@ void CQR_Encode::FormatModule()
|
|
1431
1431
|
|
1432
1432
|
ZeroMemory(m_byModuleData, sizeof(m_byModuleData));
|
1433
1433
|
|
1434
|
-
//
|
1434
|
+
// �@�\���W���[���z�u
|
1435
1435
|
SetFunctionModule();
|
1436
1436
|
|
1437
|
-
//
|
1437
|
+
// �f�[�^�p�^�[���z�u
|
1438
1438
|
SetCodeWordPattern();
|
1439
1439
|
|
1440
1440
|
if (m_nMaskingNo == -1)
|
1441
1441
|
{
|
1442
|
-
//
|
1442
|
+
// �œK�}�X�L���O�p�^�[���I��
|
1443
1443
|
m_nMaskingNo = 0;
|
1444
1444
|
|
1445
|
-
SetMaskingPattern(m_nMaskingNo); //
|
1446
|
-
SetFormatInfoPattern(m_nMaskingNo); //
|
1445
|
+
SetMaskingPattern(m_nMaskingNo); // �}�X�L���O
|
1446
|
+
SetFormatInfoPattern(m_nMaskingNo); // �t�H�[�}�b�g���p�^�[���z�u
|
1447
1447
|
|
1448
1448
|
int nMinPenalty = CountPenalty();
|
1449
1449
|
|
1450
1450
|
for (i = 1; i <= 7; ++i)
|
1451
1451
|
{
|
1452
|
-
SetMaskingPattern(i); //
|
1453
|
-
SetFormatInfoPattern(i); //
|
1452
|
+
SetMaskingPattern(i); // �}�X�L���O
|
1453
|
+
SetFormatInfoPattern(i); // �t�H�[�}�b�g���p�^�[���z�u
|
1454
1454
|
|
1455
1455
|
int nPenalty = CountPenalty();
|
1456
1456
|
|
@@ -1462,10 +1462,10 @@ void CQR_Encode::FormatModule()
|
|
1462
1462
|
}
|
1463
1463
|
}
|
1464
1464
|
|
1465
|
-
SetMaskingPattern(m_nMaskingNo); //
|
1466
|
-
SetFormatInfoPattern(m_nMaskingNo); //
|
1465
|
+
SetMaskingPattern(m_nMaskingNo); // �}�X�L���O
|
1466
|
+
SetFormatInfoPattern(m_nMaskingNo); // �t�H�[�}�b�g���p�^�[���z�u
|
1467
1467
|
|
1468
|
-
//
|
1468
|
+
// ���W���[���p�^�[�����u�[���l�ɕϊ�
|
1469
1469
|
for (i = 0; i < m_nSymbleSize; ++i)
|
1470
1470
|
{
|
1471
1471
|
for (j = 0; j < m_nSymbleSize; ++j)
|
@@ -1478,19 +1478,19 @@ void CQR_Encode::FormatModule()
|
|
1478
1478
|
|
1479
1479
|
/////////////////////////////////////////////////////////////////////////////
|
1480
1480
|
// CQR_Encode::SetFunctionModule
|
1481
|
-
//
|
1482
|
-
//
|
1481
|
+
// �p �r�F�@�\���W���[���z�u
|
1482
|
+
// �� �l�F�t�H�[�}�b�g���͋@�\���W���[���o�^�̂�(���f�[�^�͋�)
|
1483
1483
|
|
1484
1484
|
void CQR_Encode::SetFunctionModule()
|
1485
1485
|
{
|
1486
1486
|
int i, j;
|
1487
1487
|
|
1488
|
-
//
|
1488
|
+
// �ʒu���o�p�^�[��
|
1489
1489
|
SetFinderPattern(0, 0);
|
1490
1490
|
SetFinderPattern(m_nSymbleSize - 7, 0);
|
1491
1491
|
SetFinderPattern(0, m_nSymbleSize - 7);
|
1492
1492
|
|
1493
|
-
//
|
1493
|
+
// �ʒu���o�p�^�[���Z�p���[�^
|
1494
1494
|
for (i = 0; i < 8; ++i)
|
1495
1495
|
{
|
1496
1496
|
m_byModuleData[i][7] = m_byModuleData[7][i] = '\x20';
|
@@ -1498,7 +1498,7 @@ void CQR_Encode::SetFunctionModule()
|
|
1498
1498
|
m_byModuleData[i][m_nSymbleSize - 8] = m_byModuleData[7][m_nSymbleSize - 8 + i] = '\x20';
|
1499
1499
|
}
|
1500
1500
|
|
1501
|
-
//
|
1501
|
+
// �t�H�[�}�b�g���L�q�ʒu���@�\���W���[�����Ƃ��ēo�^
|
1502
1502
|
for (i = 0; i < 9; ++i)
|
1503
1503
|
{
|
1504
1504
|
m_byModuleData[i][8] = m_byModuleData[8][i] = '\x20';
|
@@ -1509,10 +1509,10 @@ void CQR_Encode::SetFunctionModule()
|
|
1509
1509
|
m_byModuleData[m_nSymbleSize - 8 + i][8] = m_byModuleData[8][m_nSymbleSize - 8 + i] = '\x20';
|
1510
1510
|
}
|
1511
1511
|
|
1512
|
-
//
|
1512
|
+
// �o�[�W�������p�^�[��
|
1513
1513
|
SetVersionPattern();
|
1514
1514
|
|
1515
|
-
//
|
1515
|
+
// �ʒu���킹�p�^�[��
|
1516
1516
|
for (i = 0; i < QR_VersonInfo[m_nVersion].ncAlignPoint; ++i)
|
1517
1517
|
{
|
1518
1518
|
SetAlignmentPattern(QR_VersonInfo[m_nVersion].nAlignPoint[i], 6);
|
@@ -1524,7 +1524,7 @@ void CQR_Encode::SetFunctionModule()
|
|
1524
1524
|
}
|
1525
1525
|
}
|
1526
1526
|
|
1527
|
-
//
|
1527
|
+
// �^�C�~���O�p�^�[��
|
1528
1528
|
for (i = 8; i <= m_nSymbleSize - 9; ++i)
|
1529
1529
|
{
|
1530
1530
|
m_byModuleData[i][6] = (i % 2) == 0 ? '\x30' : '\x20';
|
@@ -1535,8 +1535,8 @@ void CQR_Encode::SetFunctionModule()
|
|
1535
1535
|
|
1536
1536
|
/////////////////////////////////////////////////////////////////////////////
|
1537
1537
|
// CQR_Encode::SetFinderPattern
|
1538
|
-
//
|
1539
|
-
//
|
1538
|
+
// �p �r�F�ʒu���o�p�^�[���z�u
|
1539
|
+
// �� ���F�z�u������W
|
1540
1540
|
|
1541
1541
|
void CQR_Encode::SetFinderPattern(int x, int y)
|
1542
1542
|
{
|
@@ -1561,8 +1561,8 @@ void CQR_Encode::SetFinderPattern(int x, int y)
|
|
1561
1561
|
|
1562
1562
|
/////////////////////////////////////////////////////////////////////////////
|
1563
1563
|
// CQR_Encode::SetAlignmentPattern
|
1564
|
-
//
|
1565
|
-
//
|
1564
|
+
// �p �r�F�ʒu���킹�p�^�[���z�u
|
1565
|
+
// �� ���F�z�u�������W
|
1566
1566
|
|
1567
1567
|
void CQR_Encode::SetAlignmentPattern(int x, int y)
|
1568
1568
|
{
|
@@ -1574,9 +1574,9 @@ void CQR_Encode::SetAlignmentPattern(int x, int y)
|
|
1574
1574
|
int i, j;
|
1575
1575
|
|
1576
1576
|
if (m_byModuleData[x][y] & 0x20)
|
1577
|
-
return; //
|
1577
|
+
return; // �@�\���W���[���Əd�����邽�ߏ��O
|
1578
1578
|
|
1579
|
-
x -= 2; y -= 2; //
|
1579
|
+
x -= 2; y -= 2; // ��������W�ɕϊ�
|
1580
1580
|
|
1581
1581
|
for (i = 0; i < 5; ++i)
|
1582
1582
|
{
|
@@ -1590,8 +1590,8 @@ void CQR_Encode::SetAlignmentPattern(int x, int y)
|
|
1590
1590
|
|
1591
1591
|
/////////////////////////////////////////////////////////////////////////////
|
1592
1592
|
// CQR_Encode::SetVersionPattern
|
1593
|
-
//
|
1594
|
-
//
|
1593
|
+
// �p �r�F�o�[�W����(�^��)���p�^�[���z�u
|
1594
|
+
// �� �l�F�g���a�b�g(18,6)�������������Ƃ��Ďg�p
|
1595
1595
|
|
1596
1596
|
void CQR_Encode::SetVersionPattern()
|
1597
1597
|
{
|
@@ -1602,7 +1602,7 @@ void CQR_Encode::SetVersionPattern()
|
|
1602
1602
|
|
1603
1603
|
int nVerData = m_nVersion << 12;
|
1604
1604
|
|
1605
|
-
//
|
1605
|
+
// ��]�r�b�g�Z�o
|
1606
1606
|
for (i = 0; i < 6; ++i)
|
1607
1607
|
{
|
1608
1608
|
if (nVerData & (1 << (17 - i)))
|
@@ -1626,15 +1626,15 @@ void CQR_Encode::SetVersionPattern()
|
|
1626
1626
|
|
1627
1627
|
/////////////////////////////////////////////////////////////////////////////
|
1628
1628
|
// CQR_Encode::SetCodeWordPattern
|
1629
|
-
//
|
1629
|
+
// �p �r�F�f�[�^�p�^�[���z�u
|
1630
1630
|
|
1631
1631
|
void CQR_Encode::SetCodeWordPattern()
|
1632
1632
|
{
|
1633
1633
|
int x = m_nSymbleSize;
|
1634
1634
|
int y = m_nSymbleSize - 1;
|
1635
1635
|
|
1636
|
-
int nCoef_x = 1; //
|
1637
|
-
int nCoef_y = 1; //
|
1636
|
+
int nCoef_x = 1; // �����z�u����
|
1637
|
+
int nCoef_y = 1; // �����z�u����
|
1638
1638
|
|
1639
1639
|
int i, j;
|
1640
1640
|
|
@@ -1658,12 +1658,12 @@ void CQR_Encode::SetCodeWordPattern()
|
|
1658
1658
|
|
1659
1659
|
x -= 2;
|
1660
1660
|
|
1661
|
-
if (x == 6) //
|
1661
|
+
if (x == 6) // �^�C�~���O�p�^�[��
|
1662
1662
|
--x;
|
1663
1663
|
}
|
1664
1664
|
}
|
1665
1665
|
}
|
1666
|
-
while (m_byModuleData[x][y] & 0x20); //
|
1666
|
+
while (m_byModuleData[x][y] & 0x20); // �@�\���W���[�������O
|
1667
1667
|
|
1668
1668
|
m_byModuleData[x][y] = (m_byAllCodeWord[i] & (1 << (7 - j))) ? '\x02' : '\x00';
|
1669
1669
|
}
|
@@ -1673,8 +1673,8 @@ void CQR_Encode::SetCodeWordPattern()
|
|
1673
1673
|
|
1674
1674
|
/////////////////////////////////////////////////////////////////////////////
|
1675
1675
|
// CQR_Encode::SetMaskingPattern
|
1676
|
-
//
|
1677
|
-
//
|
1676
|
+
// �p �r�F�}�X�L���O�p�^�[���z�u
|
1677
|
+
// �� ���F�}�X�L���O�p�^�[���ԍ�
|
1678
1678
|
|
1679
1679
|
void CQR_Encode::SetMaskingPattern(int nPatternNo)
|
1680
1680
|
{
|
@@ -1684,7 +1684,7 @@ void CQR_Encode::SetMaskingPattern(int nPatternNo)
|
|
1684
1684
|
{
|
1685
1685
|
for (j = 0; j < m_nSymbleSize; ++j)
|
1686
1686
|
{
|
1687
|
-
if (! (m_byModuleData[j][i] & 0x20)) //
|
1687
|
+
if (! (m_byModuleData[j][i] & 0x20)) // �@�\���W���[�������O
|
1688
1688
|
{
|
1689
1689
|
BOOL bMask;
|
1690
1690
|
|
@@ -1732,8 +1732,8 @@ void CQR_Encode::SetMaskingPattern(int nPatternNo)
|
|
1732
1732
|
|
1733
1733
|
/////////////////////////////////////////////////////////////////////////////
|
1734
1734
|
// CQR_Encode::SetFormatInfoPattern
|
1735
|
-
//
|
1736
|
-
//
|
1735
|
+
// �p �r�F�t�H�[�}�b�g���z�u
|
1736
|
+
// �� ���F�}�X�L���O�p�^�[���ԍ�
|
1737
1737
|
|
1738
1738
|
void CQR_Encode::SetFormatInfoPattern(int nPatternNo)
|
1739
1739
|
{
|
@@ -1763,7 +1763,7 @@ void CQR_Encode::SetFormatInfoPattern(int nPatternNo)
|
|
1763
1763
|
|
1764
1764
|
int nFormatData = nFormatInfo << 10;
|
1765
1765
|
|
1766
|
-
//
|
1766
|
+
// ��]�r�b�g�Z�o
|
1767
1767
|
for (i = 0; i < 5; ++i)
|
1768
1768
|
{
|
1769
1769
|
if (nFormatData & (1 << (14 - i)))
|
@@ -1774,10 +1774,10 @@ void CQR_Encode::SetFormatInfoPattern(int nPatternNo)
|
|
1774
1774
|
|
1775
1775
|
nFormatData += nFormatInfo << 10;
|
1776
1776
|
|
1777
|
-
//
|
1777
|
+
// �}�X�L���O
|
1778
1778
|
nFormatData ^= 0x5412; // 101010000010010b
|
1779
1779
|
|
1780
|
-
//
|
1780
|
+
// ����ʒu���o�p�^�[������z�u
|
1781
1781
|
for (i = 0; i <= 5; ++i)
|
1782
1782
|
m_byModuleData[8][i] = (nFormatData & (1 << i)) ? '\x30' : '\x20';
|
1783
1783
|
|
@@ -1788,12 +1788,12 @@ void CQR_Encode::SetFormatInfoPattern(int nPatternNo)
|
|
1788
1788
|
for (i = 9; i <= 14; ++i)
|
1789
1789
|
m_byModuleData[14 - i][8] = (nFormatData & (1 << i)) ? '\x30' : '\x20';
|
1790
1790
|
|
1791
|
-
//
|
1791
|
+
// �E��ʒu���o�p�^�[�����z�u
|
1792
1792
|
for (i = 0; i <= 7; ++i)
|
1793
1793
|
m_byModuleData[m_nSymbleSize - 1 - i][8] = (nFormatData & (1 << i)) ? '\x30' : '\x20';
|
1794
1794
|
|
1795
|
-
//
|
1796
|
-
m_byModuleData[8][m_nSymbleSize - 8] = '\x30'; //
|
1795
|
+
// �����ʒu���o�p�^�[���E�z�u
|
1796
|
+
m_byModuleData[8][m_nSymbleSize - 8] = '\x30'; // �Œ�Ã��W���[��
|
1797
1797
|
|
1798
1798
|
for (i = 8; i <= 14; ++i)
|
1799
1799
|
m_byModuleData[8][m_nSymbleSize - 15 + i] = (nFormatData & (1 << i)) ? '\x30' : '\x20';
|
@@ -1802,14 +1802,14 @@ void CQR_Encode::SetFormatInfoPattern(int nPatternNo)
|
|
1802
1802
|
|
1803
1803
|
/////////////////////////////////////////////////////////////////////////////
|
1804
1804
|
// CQR_Encode::CountPenalty
|
1805
|
-
//
|
1805
|
+
// �p �r�F�}�X�N��y�i���e�B�X�R�A�Z�o
|
1806
1806
|
|
1807
1807
|
int CQR_Encode::CountPenalty()
|
1808
1808
|
{
|
1809
1809
|
int nPenalty = 0;
|
1810
1810
|
int i, j, k;
|
1811
1811
|
|
1812
|
-
//
|
1812
|
+
// ���F�̗�̗אڃ��W���[��
|
1813
1813
|
for (i = 0; i < m_nSymbleSize; ++i)
|
1814
1814
|
{
|
1815
1815
|
for (j = 0; j < m_nSymbleSize - 4; ++j)
|
@@ -1833,7 +1833,7 @@ int CQR_Encode::CountPenalty()
|
|
1833
1833
|
}
|
1834
1834
|
}
|
1835
1835
|
|
1836
|
-
//
|
1836
|
+
// ���F�̍s�̗אڃ��W���[��
|
1837
1837
|
for (i = 0; i < m_nSymbleSize; ++i)
|
1838
1838
|
{
|
1839
1839
|
for (j = 0; j < m_nSymbleSize - 4; ++j)
|
@@ -1857,7 +1857,7 @@ int CQR_Encode::CountPenalty()
|
|
1857
1857
|
}
|
1858
1858
|
}
|
1859
1859
|
|
1860
|
-
//
|
1860
|
+
// ���F�̃��W���[���u���b�N�i�Q�~�Q�j
|
1861
1861
|
for (i = 0; i < m_nSymbleSize - 1; ++i)
|
1862
1862
|
{
|
1863
1863
|
for (j = 0; j < m_nSymbleSize - 1; ++j)
|
@@ -1871,22 +1871,22 @@ int CQR_Encode::CountPenalty()
|
|
1871
1871
|
}
|
1872
1872
|
}
|
1873
1873
|
|
1874
|
-
//
|
1874
|
+
// �����ɂ����� 1:1:3:1:1 �䗦�i��:��:��:��:�Áj�̃p�^�[��
|
1875
1875
|
for (i = 0; i < m_nSymbleSize; ++i)
|
1876
1876
|
{
|
1877
1877
|
for (j = 0; j < m_nSymbleSize - 6; ++j)
|
1878
1878
|
{
|
1879
|
-
if (((j == 0) || (! (m_byModuleData[i][j - 1] & 0x11))) && //
|
1880
|
-
( m_byModuleData[i][j] & 0x11) && //
|
1881
|
-
(! (m_byModuleData[i][j + 1] & 0x11)) && //
|
1882
|
-
( m_byModuleData[i][j + 2] & 0x11) && //
|
1883
|
-
( m_byModuleData[i][j + 3] & 0x11) && //
|
1884
|
-
( m_byModuleData[i][j + 4] & 0x11) && //
|
1885
|
-
(! (m_byModuleData[i][j + 5] & 0x11)) && //
|
1886
|
-
( m_byModuleData[i][j + 6] & 0x11) && //
|
1887
|
-
((j == m_nSymbleSize - 7) || (! (m_byModuleData[i][j + 7] & 0x11)))) //
|
1879
|
+
if (((j == 0) || (! (m_byModuleData[i][j - 1] & 0x11))) && // �� �܂��� �V���{���O
|
1880
|
+
( m_byModuleData[i][j] & 0x11) && // �� - 1
|
1881
|
+
(! (m_byModuleData[i][j + 1] & 0x11)) && // �� - 1
|
1882
|
+
( m_byModuleData[i][j + 2] & 0x11) && // �� ��
|
1883
|
+
( m_byModuleData[i][j + 3] & 0x11) && // �� ��3
|
1884
|
+
( m_byModuleData[i][j + 4] & 0x11) && // �� ��
|
1885
|
+
(! (m_byModuleData[i][j + 5] & 0x11)) && // �� - 1
|
1886
|
+
( m_byModuleData[i][j + 6] & 0x11) && // �� - 1
|
1887
|
+
((j == m_nSymbleSize - 7) || (! (m_byModuleData[i][j + 7] & 0x11)))) // �� �܂��� �V���{���O
|
1888
1888
|
{
|
1889
|
-
//
|
1889
|
+
// �O�܂��͌��4�ȏ�̖��p�^�[��
|
1890
1890
|
if (((j < 2 || ! (m_byModuleData[i][j - 2] & 0x11)) &&
|
1891
1891
|
(j < 3 || ! (m_byModuleData[i][j - 3] & 0x11)) &&
|
1892
1892
|
(j < 4 || ! (m_byModuleData[i][j - 4] & 0x11))) ||
|
@@ -1900,22 +1900,22 @@ int CQR_Encode::CountPenalty()
|
|
1900
1900
|
}
|
1901
1901
|
}
|
1902
1902
|
|
1903
|
-
//
|
1903
|
+
// ����s�ɂ����� 1:1:3:1:1 �䗦�i��:��:��:��:�Áj�̃p�^�[��
|
1904
1904
|
for (i = 0; i < m_nSymbleSize; ++i)
|
1905
1905
|
{
|
1906
1906
|
for (j = 0; j < m_nSymbleSize - 6; ++j)
|
1907
1907
|
{
|
1908
|
-
if (((j == 0) || (! (m_byModuleData[j - 1][i] & 0x11))) && //
|
1909
|
-
( m_byModuleData[j] [i] & 0x11) && //
|
1910
|
-
(! (m_byModuleData[j + 1][i] & 0x11)) && //
|
1911
|
-
( m_byModuleData[j + 2][i] & 0x11) && //
|
1912
|
-
( m_byModuleData[j + 3][i] & 0x11) && //
|
1913
|
-
( m_byModuleData[j + 4][i] & 0x11) && //
|
1914
|
-
(! (m_byModuleData[j + 5][i] & 0x11)) && //
|
1915
|
-
( m_byModuleData[j + 6][i] & 0x11) && //
|
1916
|
-
((j == m_nSymbleSize - 7) || (! (m_byModuleData[j + 7][i] & 0x11)))) //
|
1908
|
+
if (((j == 0) || (! (m_byModuleData[j - 1][i] & 0x11))) && // �� �܂��� �V���{���O
|
1909
|
+
( m_byModuleData[j] [i] & 0x11) && // �� - 1
|
1910
|
+
(! (m_byModuleData[j + 1][i] & 0x11)) && // �� - 1
|
1911
|
+
( m_byModuleData[j + 2][i] & 0x11) && // �� ��
|
1912
|
+
( m_byModuleData[j + 3][i] & 0x11) && // �� ��3
|
1913
|
+
( m_byModuleData[j + 4][i] & 0x11) && // �� ��
|
1914
|
+
(! (m_byModuleData[j + 5][i] & 0x11)) && // �� - 1
|
1915
|
+
( m_byModuleData[j + 6][i] & 0x11) && // �� - 1
|
1916
|
+
((j == m_nSymbleSize - 7) || (! (m_byModuleData[j + 7][i] & 0x11)))) // �� �܂��� �V���{���O
|
1917
1917
|
{
|
1918
|
-
//
|
1918
|
+
// �O�܂��͌��4�ȏ�̖��p�^�[��
|
1919
1919
|
if (((j < 2 || ! (m_byModuleData[j - 2][i] & 0x11)) &&
|
1920
1920
|
(j < 3 || ! (m_byModuleData[j - 3][i] & 0x11)) &&
|
1921
1921
|
(j < 4 || ! (m_byModuleData[j - 4][i] & 0x11))) ||
|
@@ -1929,7 +1929,7 @@ int CQR_Encode::CountPenalty()
|
|
1929
1929
|
}
|
1930
1930
|
}
|
1931
1931
|
|
1932
|
-
//
|
1932
|
+
// �S�̂ɑ���Ã��W���[���̐�߂銄��
|
1933
1933
|
int nCount = 0;
|
1934
1934
|
|
1935
1935
|
for (i = 0; i < m_nSymbleSize; ++i)
|