Replies: 11 comments 14 replies
-
Since I don't know who of the regular users would actually see this poll, excuse me for shouting out a few names: @gitlost @markusfisch @alexmanzer @vkrause @Sec-ant @benjohnde @siiky @khoren93 @okarmazin @duanqn @SteveCookTU @cbm755 |
Beta Was this translation helpful? Give feedback.
-
I personally voted "none of the above" however I'm not a regular user of ZXing-Cpp or the wrapper I wrote 😂. What I do know is that a large part of the users of my wrapper don't use it directly but through some even higher-level packages which do not expose these options. So I assume "none of the above" can reflect most of the cases on my side. |
Beta Was this translation helpful? Give feedback.
-
I would guess most users don't use the options, but my personal preference is having the checksum validations. Users could do this themselves but is good to have for more niche/strict usage. |
Beta Was this translation helpful? Give feedback.
-
The zint test suite uses `tryCode39ExtendedMode` and
`validateCode39CheckSum` as they're convenient.
It doesn't use `validateITFCheckSum` as it does its own validation
(variants can have no/different checksums).
Re `returnCodabarStartEnd` I notice it was introduced upstream over 10
years ago with commit
zxing/zxing@20193fd
in response to a googlecode issue (no. 1737), which I haven't been
able to track down, but presumably somebody found it useful...
…On Thu, Jan 25, 2024 at 5:24 PM SteveCookTU ***@***.***> wrote:
I would guess most users don't use the options, but my personal preference is having the checksum validations. Users could do this themselves but is good to have for more niche/strict usage.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Re test suite source, it uses an intermediary "zxingcppdecoder" CLI to
interface with ZXing-C++
(https://github.com/gitlost/zxing-cpp/blob/diagnostics2/example/ZXingDecoder.cpp)
to which it passes options as appropriate (e.g. for Code 39 see
https://sourceforge.net/p/zint/code/ci/master/tree/backend/tests/testcommon.c#l3791).
The CLI returns a string (`result.text(TextMode::Plain`) which is then
massaged to be comparable to the expected result
(https://sourceforge.net/p/zint/code/ci/master/tree/backend/tests/testcommon.c#l3897).
Re removing Code 39 options, as the test suite uses a fork of
ZXing-C++ it can do its own thing (although I try to limit these to
make merging easier) so its requirements aren't really that relevant
to this discussion.
Re removing options in general, I'm not in favour for what it's worth.
The simplification doesn't justify the backward incompatibility in my
eyes, and if part of the motivation is to reduce the size of the
`ReaderOptions` structure, then I don't think that's a good
motivation.
…On Fri, Jan 26, 2024 at 3:40 PM axxel ***@***.***> wrote:
Update: I went ahead with the deprecation of the first 3 and regarding the last one (Codabar), I'm currently favoring simply always returning the start/stop character. A simple google image search for codabar showed that more than 50% of the HRI texts seem to think they ought to be included anyway. And if someone really cares about that, they can simply strip away the first and last character themself. I consider this such a niche application with a trivial fix in user code that I don't consider this worth the hazzle. Someone care to speak up against that idea?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Re `tryCode39ExtendedMode` in particular, as the spec says it's a
decoder option, I think it should be kept as an option.
…On Fri, Jan 26, 2024 at 5:23 PM Martin Burke ***@***.***> wrote:
Re test suite source, it uses an intermediary "zxingcppdecoder" CLI to
interface with ZXing-C++
(https://github.com/gitlost/zxing-cpp/blob/diagnostics2/example/ZXingDecoder.cpp)
to which it passes options as appropriate (e.g. for Code 39 see
https://sourceforge.net/p/zint/code/ci/master/tree/backend/tests/testcommon.c#l3791).
The CLI returns a string (`result.text(TextMode::Plain`) which is then
massaged to be comparable to the expected result
(https://sourceforge.net/p/zint/code/ci/master/tree/backend/tests/testcommon.c#l3897).
Re removing Code 39 options, as the test suite uses a fork of
ZXing-C++ it can do its own thing (although I try to limit these to
make merging easier) so its requirements aren't really that relevant
to this discussion.
Re removing options in general, I'm not in favour for what it's worth.
The simplification doesn't justify the backward incompatibility in my
eyes, and if part of the motivation is to reduce the size of the
`ReaderOptions` structure, then I don't think that's a good
motivation.
On Fri, Jan 26, 2024 at 3:40 PM axxel ***@***.***> wrote:
>
> Update: I went ahead with the deprecation of the first 3 and regarding the last one (Codabar), I'm currently favoring simply always returning the start/stop character. A simple google image search for codabar showed that more than 50% of the HRI texts seem to think they ought to be included anyway. And if someone really cares about that, they can simply strip away the first and last character themself. I consider this such a niche application with a trivial fix in user code that I don't consider this worth the hazzle. Someone care to speak up against that idea?
>
> —
> Reply to this email directly, view it on GitHub, or unsubscribe.
> You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I checked our usage and we do use tryCode39ExtendedMode as well. I looked at the PR where it was added and the author (@CoPrez, though not sure if he remembers any more context) said this about adding tryCode39ExtendedMode:
|
Beta Was this translation helpful? Give feedback.
-
Re zint test suite, yes, anything can be worked around (almost), and
as I said its requirements can be more or less ignored.
Re codabar and the special handling in `testUtilZXingCPPCmp`, these
details aren't interesting but it's probably like that to avoid having
to deal with upper/lowercase issues as zint uppercases Codabar input.
Re breaking changes and zint, yes, zint breaks ABI on every release.
It tries very hard not to introduce backward incompatible API/CLI
changes though, unless there's a significant benefit.
Anyway, that's my 2 cents.
…On Fri, Jan 26, 2024 at 9:20 PM axxel ***@***.***> wrote:
I understand. Thanks for the feedback. What I implemented this afternoon is basically something like setting harcoding tryCode39ExtendedMode = true. What would be of interest to me is if you encountered situations where this needed to be false to get the expected result.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Re `tryCode39ExtendedMode`, just remembered that the Health Industry
Bar Code (HIBC) Supplier Labeling Standard
(https://www.hibcc.org/wp-content/uploads/SLS-2.6-Final.pdf)
uses "+" as a prefix followed by a 4-character alphanumeric Labeler
Identification Code (LIC), with the first character always being
alphabetic.
So e.g. "+A123BJC5D6E71G" (with the final "G" being a checksum) will
now be returned as "a123BJC5D6E71G".
So this is another reason for retaining `tryCode39ExtendedMode`.
…On Fri, Jan 26, 2024 at 10:39 PM Martin Burke ***@***.***> wrote:
Re zint test suite, yes, anything can be worked around (almost), and
as I said its requirements can be more or less ignored.
Re codabar and the special handling in `testUtilZXingCPPCmp`, these
details aren't interesting but it's probably like that to avoid having
to deal with upper/lowercase issues as zint uppercases Codabar input.
Re breaking changes and zint, yes, zint breaks ABI on every release.
It tries very hard not to introduce backward incompatible API/CLI
changes though, unless there's a significant benefit.
Anyway, that's my 2 cents.
On Fri, Jan 26, 2024 at 9:20 PM axxel ***@***.***> wrote:
>
> I understand. Thanks for the feedback. What I implemented this afternoon is basically something like setting harcoding tryCode39ExtendedMode = true. What would be of interest to me is if you encountered situations where this needed to be false to get the expected result.
>
> —
> Reply to this email directly, view it on GitHub, or unsubscribe.
> You are receiving this because you were mentioned.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
@markusfisch @benjohnde I have a question regarding the deprecation of API in ObjectiveC. Is there an analog of the Kotlin This is also potentially relevant for #705, even though there the situation is more complicated. |
Beta Was this translation helpful? Give feedback.
-
Just a little follow up: I just received an issue to return the Codabar start/stop codes (in my barcode scanner app). Apparently the start/stop codes are used to determine if a barcode is complete or if there is a continuation code to scan. So I am using |
Beta Was this translation helpful? Give feedback.
-
Adding even more wrappers, I wonder (again)...
[If you never used any, please choose the last option. If you'd like to select more than one, please just leave a comment]
12 votes ·
Beta Was this translation helpful? Give feedback.
All reactions