diff --git a/lcl/interfaces/qt5/qtwinapi.inc b/lcl/interfaces/qt5/qtwinapi.inc index 4f401e474d..1b90827302 100644 --- a/lcl/interfaces/qt5/qtwinapi.inc +++ b/lcl/interfaces/qt5/qtwinapi.inc @@ -4810,10 +4810,18 @@ begin QtFont := QWidget_font(AMenu); QFont_family(QtFont, @AName); Font.Name := UTF16ToUTF8(AName); + {$ifdef darwin} + // issue #34625 + if QFont_pointSize(QtFont) > 0 then + Font.Height := -Round(QFont_pointSizeF(QtFont)) + else + Font.Height := QFont_pixelSize(QtFont); + {$else} if QFont_pointSize(QtFont) > 0 then Font.Size := QFont_pointSize(QtFont) else Font.Height := QFont_pixelSize(QtFont); + {$endif} if QFont_bold(QtFont) then Font.Style := Font.Style + [fsBold]; if QFont_italic(QtFont) then @@ -4837,10 +4845,18 @@ begin QApplication_font(QtFont); QFont_family(QtFont, @AName); Font.Name := UTF16ToUTF8(AName); + {$ifdef darwin} + // issue #34625 + if QFont_pointSize(QtFont) > 0 then + Font.Height := -Round(QFont_pointSizeF(QtFont)) + else + Font.Height := QFont_pixelSize(QtFont); + {$else} if QFont_pointSize(QtFont) > 0 then Font.Size := QFont_pointSize(QtFont) else Font.Height := QFont_pixelSize(QtFont); + {$endif} if QFont_bold(QtFont) then Font.Style := Font.Style + [fsBold]; if QFont_italic(QtFont) then