Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support up to v40 and some UI enhancements + import/export text file #6

Merged
merged 35 commits into from
Apr 24, 2023

Conversation

wphiphi
Copy link
Contributor

@wphiphi wphiphi commented Jan 5, 2022

Hi Imam,

Best Wishes

Here is a single PR for :
support up to v40 ( based wip work of Denys Vitali #5 ) and fixing strong decoder/RS/recover padding.
some UI enhancements ( dynamic resize based on QR size for encode and decode mode )
import/export text file

Best regards

Phi Phi

denysvitali and others added 30 commits November 14, 2021 23:56
add version info ,  add dark module
switch qr_template array to denisvitalys  generate_qr()  (qr.js) 
resize to acceptable QR size pixel width ( main + padding windows)
complete all tables info for up to version 40 of QR version size
normal decode will work for v40
decode mode need 2px width module for correct decoding  , also it now support switching up or lower and reverting to original encode pixel module settings before decode mode being used
QR higher version  bit parsing fix (num, alphanum, byte)
@wphiphi
Copy link
Contributor Author

wphiphi commented Jan 7, 2022

This PR is linked to #2 .

@Merricx
Copy link
Owner

Merricx commented Jan 19, 2022

Such nice works! Let me check it and then I will merge to master.

By the way, any specific reason why you renamed "padding" term into "patching" ? I think padding make more sense because they are literally padding bits

@wphiphi
Copy link
Contributor Author

wphiphi commented Jan 20, 2022

Imam, I renamed because in branch step-by-step , it is reused to show all change after "patching" .
in that branch, there is a dedicated button for comparing (against an existing saved QR) , after RS decoder ( a restore button is added , so you can get the original QR back ), and of course when you patch each segment you can also see where on the QR it changed.

Step-by-step branch did a refactoring , I combined all decoding related activity into one function instead of having that same thing redone for RS , Padding , Strong Decoder and ReadDatabits.

Also Kanji decoding works in Strong Decoder ( but not on the normal decode section ).

I am still Work-in-progress on that branch . Segment patching don't have the apply button commited yet.

@Darkar25
Copy link

I was going through qrazybox help page and saw this image...would be cool if highlighting was like this in the editor too, and not only red color for non-editable pixels...i suggest making this))
QRCode-2-Structure

@wphiphi
Copy link
Contributor Author

wphiphi commented Jan 20, 2022

@Darkar25 well version is already colored red (if QR size is version 7 or higher ) and not editable and it is filled for you based on selected new size or recognised size , format is only editable when clicking on the QR format info location. for educational purpose , it would be great to separate highlight .
What I found more useful because I got some great difficulty to resolve a v12 QR ( 65x65) would be to color datablock due to interleaving and ECC ( global or per datablock ) , you can apply erasure ( grey color) properly visually to the correct datablock . There four such a datablock and they are interleaved so it is really hard.

Copy link

@Darkar25 Darkar25 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't the "O" and "o" symbols make 0 instead of 1?

@wphiphi
Copy link
Contributor Author

wphiphi commented Jan 24, 2022

Hi Darkar25, it is directly taken from Waidotto ( https://github.com/waidotto/strong-qr-decoder ) Readme.md

使い方
QRコードをテキストデータで流し込みます。

'X', 'x', 'O', 'o', '#', '1'は暗モジュールとして扱われます。
'_', '-', ' ', '0'は明モジュールとして扱われます。
'?'は明暗が不明であるモジュールとして扱われます(マスク解除後に明モジュール扱いになります)

Which translate to :

How to use
Insert the QR code as text data.

 'X',' x',' O',' o',' #', '1' are treated as dark modules.
 '_','-','', '0' are treated as bright modules.
 '?' Is treated as a module whose light and darkness is unknown (it will be treated as a light module after unmasking). 

:)

@Darkar25
Copy link

oh...ok)

@wphiphi
Copy link
Contributor Author

wphiphi commented Jan 24, 2022

@Darkar25 It is from the Japanese Culture for the O and X Notation : O mean yes / true / Correct , X mean no / false / error .

@Merricx Merricx merged commit 87b6e41 into Merricx:master Apr 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants