フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: [1]
トピック: DelphiZXingQRCode (日本語 MOD)
DEKO
管理者
投稿数: 2645
DelphiZXingQRCode (日本語 MOD)
on: 2014/04/29 07:12 Tue

Delphi 用の QRコードジェネレータがありまして、

[DelphiZXingQRCode: Delphi QR Code Generator]
http://www.debenu.com/open-source/delphizxingqrcode/

とても便利なのですが、日本語を通そうとするとそのままではダメです…なので、ちょっと改変してみました。

[DelphiZXingQRCode Japanese Mod]
http://ht-deko.minim.ne.jp/software/DelphiZXIngQRCode_jp_mod.zip

[改変点]

  • 自動判別かつ、日本語が含まれている場合には Shift_JIS を優先するようにした。
  • QRコードのエンコーディングに Shift_JIS (qrShiftJIS) を追加した。
  • uses に列挙されているユニットの名前空間を XE 互換にした。
DEKO
管理者
投稿数: 2645
Re: DelphiZXingQRCode (日本語 MOD)
on: 2014/04/29 07:26 Tue

文字列プロパティ (Data) は WideString 型なので、Shift_JIS を指定すると一部正しく変換できない文字があります。
Unicode 版 Delphi では WideString の方が都合がいいので多目にみてやってください。

# だって、元々 QRコードは Shift_JIS 前提なんですもの。

DEKO
管理者
投稿数: 2645
Re: DelphiZXingQRCode (日本語 MOD)
on: 2014/05/12 16:08 Mon

数値及びアルファベットが混在する場合には、Encoding プロパティに qrISO88591 または qrShiftJIS を指定してください。

  • 数値のみ
  • アルファベットのみ
  • 日本語が必ず含まれる

このような場合には qrAuto (デフォルト) でもいいのですが、含まれたり含まれなかったりする場合には

  • 数値とアルファベットが混在する事がある -> qrISO88591
  • 日本語が含まれる事がある -> qrShiftJIS

これらの指定をした方が無難です。qrAlphanumeric (数値とアルファベット) と判定された場合 "0 が削除されてしまう" からです。ゼロ削除処理がわざわざ入っているという事は、qrAlphanumeric は普通に思うトコロの "数値とアルファベット" ではないのかもしれません。

ページ: [1]
WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.028 sec.