macOS上で等幅フォントでのテキストの描画サイズ
macOS、C++、Qt5でGUIアプリを作っています。等幅フォントを指定してテキストを描画します。このとき、半角10文字より全角5文字の方が実際に描画されるサイズが短くなります。
void MainWindow::paintEvent(QPaintEvent *event)
{
QPainter p(this);
p.setFont(QFont("Monaco", 20));
p.drawText(0, 30, "WWWWWWWWWW");
p.drawText(0, 60, "||||||||||");
p.drawText(0, 90, "あああああ");
qDebug() << p.fontMetrics().size(0, "WWWWWWWWWW").width();
qDebug() << p.fontMetrics().size(0, "||||||||||").width();
qDebug() << p.fontMetrics().size(0, "あああああ").width();
}
上記の例では、半角10文字の幅が120px、全角5文字の幅が100pxとして描画されます。
半角10文字と全角5文字が同じ幅で描画されるようにする方法はないでしょうか?
なお、Windowsで同じことを行うと、期待通りのサイズで描画されます。