Thanks for the great library, it has helped us out immensely! We had many difficulties trying to process barcodes before we discovered this gem.
We currently have a requirement which requires us to avoid the extended character set in our barcode reading. We were able to hack in this functionality by using the Code39Reader directly, but it would be preferred to use the BarcodeReader in order to use the DecodeMultiple function (and it is easier to use).
Here is where the Extended Mode is hard coded to be true (line 341 in commit 86280)
```
hints = new Dictionary<DecodeHintType, object>
{
{DecodeHintType.USE_CODE_39_EXTENDED_MODE, true},
{DecodeHintType.RELAXED_CODE_39_EXTENDED_MODE, true}
};
```
Which could be changed to this:
```
hints = new Dictionary<DecodeHintType, object>();
```
And have the functionality powered by this property:
```
/// <summary>
/// Uses the extended character set for Code 39
/// </summary>
/// <value>
/// <c>true</c> if using the extended character set; otherwise, <c>false</c>.
/// </value>
public bool UseExtendedCode39
{
get
{
if (hints.ContainsKey(DecodeHintType.USE_CODE_39_EXTENDED_MODE))
return (bool)hints[DecodeHintType.USE_CODE_39_EXTENDED_MODE];
return false;
}
set
{
if (value)
{
hints[DecodeHintType.USE_CODE_39_EXTENDED_MODE] = true;
hints[DecodeHintType.RELAXED_CODE_39_EXTENDED_MODE] = true;
usePreviousState = false;
}
else
{
if (hints.ContainsKey(DecodeHintType.USE_CODE_39_EXTENDED_MODE))
{
hints.Remove(DecodeHintType.USE_CODE_39_EXTENDED_MODE);
usePreviousState = false;
}
if (hints.ContainsKey(DecodeHintType.RELAXED_CODE_39_EXTENDED_MODE))
{
hints.Remove(DecodeHintType.RELAXED_CODE_39_EXTENDED_MODE);
usePreviousState = false;
}
}
}
}
```
Comments: ** Comment from web user: micjahn **
I moved most of the options to a separate class DecodingOptions.
That class has two new properties
* UseCode39ExtendedMode
* UseCode39RelaxedExtendedMode
Both properties have the same old default values.
But you can now modify them.