InDesign makes incorrect QR code words and we can't decode QR codes correctly.
Steps to Reproduce:
1. Object->Make QR Code...
2. Input strings "問題は日本語を正常に扱えるかどうか。".
3. Result QR Code is incorrect.
Actual Result:
Sometimes, we got the wrong code in Japanese locale.
Any Workarounds:
Here is Japanese character strings "問題は日本語を正常に扱えるかどうか。".
This was coded into the InDesign try and get "image1.png".
Then, we try to decode it at ZXING decoder. Here is a decoded result (image2.png)
42 1e 59 58 fe 9a 18 ce 38 1a fe 69 7a 5e 69 ca
ce 8a a9 ee 38 29 2e 6a da 3e 5b 8b 8e 38 1a be
68 9b 1 8 0a ce 09 78 c2 17 9c 14 11 81 a7 38 24
63 02 5e 70 10 06 08 00 ec 11 ec 11 ec 11 ec 11
The top has been encoded in the beginning have you because of 8-bit byte mode from the head with a "0x4". Then, the character codes are used here is UTF-8. Until "... 正常に扱" it has been encoded successfully. But it can not be decoded completely normal the next "え"(12th character) or later.
In fact, this string is a mode change in a 35 byte. And, now, the used is "0x8" So KANJI Mode. Subsequent bytes will be the number of characters. "0xa" So 10 characters. And compressed into one character 13bit in this mode. Actual rest of the string is "えるかどうか。" 7 is the letter does not match the number of fundamental places because. The code itself will be inferred from the simple result of decoding.A byte sequence that has been obtained is decoded as SJIS but UTF-8 has over encoded as it is. The character code must perform the encoding by converting to SJIS from KANJI Mode. 7 is why this in a letter 21 bytes because it is each of the three-byte count of and 10 characters to compress the two-byte set to 13bit come out.
A decoder is handled by SJIS because of KANJI Mode. So characters are garbled.
KANJI Mode makes incorrect code words in InDesign and why mode change in a 35 byte?
In case of "問題は日本語を正常に扱えるかどうか。" all characters are non-Ascii code range and all characters in SJIS code range. It must be encoded KANJI Mode if using KANJI Mod.
However, I think it is better to encode 8bit byte mode with UTF-8 all characters.
Please reference below:
81 28 31 32 a0 29 ae 3a 7f da 3a 82 e0 bb 35 96
85 24 b6 a1 26 0b 48 4a 42 8e 12 40 94 80 08 00
ec 11
It is correct code words in KANJI Mode with "問題は日本語を正常に扱えるかどうか。"(image3.png/Made by QR Code Maker Pro in Adobe AddOns)
And below codes encoded in 8bit byte mode with UTF-8
43 6e 59 58 fe 9a 18 ce 38 1a fe 69 7a 5e 69 ca
ce 8a a9 ee 38 29 2e 6a da 3e 5b 8b 8e 38 1a be
68 9b 1e 38 18 8e 38 28 be 38 18 be 38 1a 9e 38
18 6e 38 18 be 38 08 20 ec 11 ec 11 ec 11 ec 11
ec 11 ec 11 ec 11 ec 11 ec 11 ec 11 ec 11 ec 11
I recommend discarding KANJI MODE. I think all characters to be encoded 8bit byte mode with UTF-8 characters is the better way.
To Adobe, Please check ID-4170816.
Hello All,
Thank you for reporting the issue to us.
We have fixed the issue in the latest version of InDesign, Id 14.0.3
Please upgrade your InDesign application to the latest version to try out the fix.
If you are unable to see the update yet, go to Creative Cloud desktop application, open the menu (three dots) from the top-right corner and click on ‘Check For App Updates’.
If you face any problems with the new update, do let us know in the comments.
You may also follow the below given link for the list of all fixed issues in Id 14.0.3
https://helpx.adobe.com/indesign/kb/fixed-issues.html
-
Anonymous commented
Hi, we have the same problem with czech language. Thank you
-
openspc commented
このQRコードの問題は、もう実装された時からの不具合なので、そろそろ修正して欲しいところです。でないと、いつまで経っても他のアプリケーション頼みになってしまいます。
-
Ten commented
日本語にて概要を説明しておきます。
InDesignはQRコード作成機能搭載の当初から日本語特有の漢字モードを正常に処理出来ず、日本語の混ざった文字列を正常にQRコード化出来ないというバグがあり、現在まで修正されないままです。
これは漢字モード自体の実装と漢字モードへの移行判定のバグという2本立ての不具合を抱えていることに起因するものです。
私が推奨したいシナリオは「漢字モードを廃止し8bitバイトモード固定での運用及びマルチバイトを含め全てをUTF-8文字列として扱うこと」です。これによりウムラウト等のノンアスキーキャラクタの問題も解消可能となります。