Hi, At current stage, you might have to edit some of source code. I will list below.
change => public const string DefaultEncoding = "iso-8859-1";
To => public const string DefaultEncoding = "shift_jis";
Under folder masking and scoring, you will find Penalty3.cs
Under method private int PatternCheck(BitMatrix matrix, int i, int j, bool isHorizontal)
You will find two small for loop. Which is following:
if((j - 5) >=0)
For loop here.
If((j+9) < matrix.Width)
Which is between line 85, 112.
Remove all code that I have list above and simply place "return 40;" at where you removed previews code.
Now encoder should be function as specified inside ISO/IEC 18004:2000
Let me know if you have any other issues.
Also for detail reason behind those changes. First one which is what I said in previews post. Second penalty calculation rule 3, ISO/IEC 18004:2006 have to check one more condition before return penalty score value. So we just remove that check and return