|
|
@ -476,8 +476,7 @@ class QrCode(object):
|
|
|
|
|
|
|
|
|
|
|
|
# Balance of black and white modules
|
|
|
|
# Balance of black and white modules
|
|
|
|
black = sum((1 if cell else 0) for row in modules for cell in row)
|
|
|
|
black = sum((1 if cell else 0) for row in modules for cell in row)
|
|
|
|
# Note that size is odd, so black/total != 1/2
|
|
|
|
total = size**2 # Note that size is odd, so black/total != 1/2
|
|
|
|
total = size**2
|
|
|
|
|
|
|
|
# Compute the smallest integer k >= 0 such that (45-5k)% <= black/total <= (55+5k)%
|
|
|
|
# Compute the smallest integer k >= 0 such that (45-5k)% <= black/total <= (55+5k)%
|
|
|
|
k = (abs(black * 20 - total * 10) + total - 1) // total - 1
|
|
|
|
k = (abs(black * 20 - total * 10) + total - 1) // total - 1
|
|
|
|
result += k * QrCode._PENALTY_N4
|
|
|
|
result += k * QrCode._PENALTY_N4
|
|
|
|