File tree Expand file tree Collapse file tree 1 file changed +27
-0
lines changed
Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -422,6 +422,33 @@ var qrcode = function() {
422422 } ;
423423
424424 _this . make = function ( ) {
425+ if ( _typeNumber < 1 ) {
426+ var typeNumber = 1 ;
427+
428+ for ( ; typeNumber < 40 ; typeNumber ++ ) {
429+ var rsBlocks = QRRSBlock . getRSBlocks ( typeNumber , _errorCorrectionLevel ) ;
430+ var buffer = qrBitBuffer ( ) ;
431+
432+ for ( var i = 0 ; i < _dataList . length ; i ++ ) {
433+ var data = _dataList [ i ] ;
434+ buffer . put ( data . getMode ( ) , 4 ) ;
435+ buffer . put ( data . getLength ( ) , QRUtil . getLengthInBits ( data . getMode ( ) , typeNumber ) ) ;
436+ data . write ( buffer ) ;
437+ }
438+
439+ var totalDataCount = 0 ;
440+ for ( var i = 0 ; i < rsBlocks . length ; i ++ ) {
441+ totalDataCount += rsBlocks [ i ] . dataCount ;
442+ }
443+
444+ if ( buffer . getLengthInBits ( ) <= totalDataCount * 8 ) {
445+ break ;
446+ }
447+ }
448+
449+ _typeNumber = typeNumber ;
450+ }
451+
425452 makeImpl ( false , getBestMaskPattern ( ) ) ;
426453 } ;
427454
You can’t perform that action at this time.
0 commit comments