Read QR code from terminal

I am working on a C application that should display a QR code. Instead of writing GUI code, I thought to show it right on the terminal. However, standard QR code readers expect the code to be square, but when printed in a linux terminal, it looks rectangular.

How to solve this problem? Trying to print the code in a square form would probably be the best option to keep it compatible with standard QRC readers. To be honest, I don't even know if the QRC reader can interpret the code displayed by the terminal (it might be readable depending on the characters used).

ยทยทยทยทยทยทยท ยท ยท    ยทยท   ยท ยทยทยทยทยทยทยท
ยท     ยท ยท  ยทยท ยทยท    ยท ยท     ยท
ยท ยทยทยท ยท        ยทยทยท    ยท ยทยทยท ยท
ยท ยทยทยท ยท ยทยท ยทยทยทยท   ยทยท  ยท ยทยทยท ยท
ยท ยทยทยท ยท ยท      ยท ยทยท   ยท ยทยทยท ยท
ยท     ยท ยท    ยท  ยทยทยทยทยท ยท     ยท
ยทยทยทยทยทยทยท ยท ยท ยท ยท ยท ยท ยท ยทยทยทยทยทยทยท
           ยท ยทยทยท   ยท         
   ยท  ยท  ยท  ยท   ยทยท     ยทยทยท ยทยท
  ยทยทยทยท ยทยทยทยท  ยทยทยทยท  ยทยทยทยทยท    ยท
 ยท ยทยทยทยท ยท ยท ยทยท   ยท  ยท ยทยท  ยทยท 
ยท   ยท  ยทยท     ยท   ยท  ยทยทยทยทยทยทยท 
 ยท  ยทยทยท ยท ยท ยทยท ยท ยท ยท  ยทยท     
 ยทยทยทยท      ยทยทยทยท ยทยท ยทยทยท ยท ยท ยท 
ยท ยทยท ยทยทยทยท   ยท ยทยทยทยท  ยทยท     ยทยท
  ยท      ยท ยท  ยทยทยท ยทยท  ยทยท   ยท 
 ยทยท ยท ยทยทยท  ยทยทยท   ยทยทยท       ยท 
    ยทยท ยท  ยทยท ยท  ยท  ยทยทยท ยท   ยทยท
ยท    ยทยท  ยทยท  ยท  ยท ยท  ยท ยท   ยทยท
    ยทยท  ยทยทยทยท ยทยท ยท ยท     ยทยท   
ยท   ยท ยท    ยท  ยทยท ยท  ยทยทยทยทยท ยท ยท
        ยท ยทยทยท   ยทยทยท ยท   ยท  ยทยท
ยทยทยทยทยทยทยท  ยทยท  ยท    ยท ยท ยท ยทยทยทยท 
ยท     ยท    ยทยท ยทยทยท   ยท   ยท ยท ยท
ยท ยทยทยท ยท      ยท  ยท ยท ยทยทยทยทยทยท ยท 
ยท ยทยทยท ยท ยทยท      ยทยท ยทยทยทยท ยทยท  ยท
ยท ยทยทยท ยท  ยทยทยท  ยท  ยท ยทยท   ยท ยท ยท
ยท     ยท   ยท ยทยท ยท ยท ยท  ยทยท   ยท 
ยทยทยทยทยทยทยท  ยทยทยท     ยทยท   ยท ยทยท ยท 

      

+3


source to share


1 answer


It depends on the exact font used and if your terminal supports characters, but I would try the following for every black square you need: โ–ˆโ–ˆ

These are two U + 2588 FULL BLOCK characters. Then, for each white square, just use two regular spaces.



Edit: Just read Cong Ma's comment and related source code. Taking a quick look at this, it looks like they are using a variation of this idea, but instead use semi-blocked characters (โ–€ and) that print two lines at a time so that the output ends up at a quarter of the size my method is taller.

+1


source







All Articles