Qt 5 で全角文字を半角に変換する #02
Qt 5 で全角文字を半角に変換する #01 で実験的に実装した、QString::transliterate(QString type) の設計や実装 がとてもアドホックだったので、もう少し Qt っぽい作りにしてみました。
新しいパッチは Change Ib8904c1e: WIP: add QTransliterator です。QString にメソッドを追加するのではなく、専用のクラスを作成しました。
今回のパッチには、ユニットテスト も追加してみました。
使い方は以下のようになります。
#include <QtCore/QTransliterator> ... QTransliterator transliterator; transliterator.setType(QStringLiteral("Halfwidth-Fullwidth")); transliterator.transliterate(QStringLiteral("012")); // 012
作り的に QtQuick で全角文字を半角に変換する と同じになっているため、qmlRegisterType をすると QtQuick からも使えるようになります。