rqr 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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)
|