diff --git a/lcl/graphics.pp b/lcl/graphics.pp index 79f87ff7d3..8fbc0f209e 100644 --- a/lcl/graphics.pp +++ b/lcl/graphics.pp @@ -59,7 +59,8 @@ type TFontStyles = set of TFontStyle; TFontStylesbase = set of TFontStyle; TFontCharSet = 0..255; - TFontQuality = (fqDefault, fqDraft, fqProof, fqNonAntialiased, fqAntialiased); + TFontQuality = (fqDefault, fqDraft, fqProof, fqNonAntialiased, fqAntialiased, + fqCleartype, fqCleartypeNatural); TFontData = record Handle: HFont; diff --git a/lcl/include/font.inc b/lcl/include/font.inc index ef7670878a..c8b0cba724 100644 --- a/lcl/include/font.inc +++ b/lcl/include/font.inc @@ -1060,7 +1060,8 @@ const LF_BOOL: array[Boolean] of Byte = (0, 255); LF_WEIGHT: array[Boolean] of Integer = (FW_NORMAL, FW_BOLD); LF_QUALITY: array[TFontQuality] of Integer = (DEFAULT_QUALITY, - DRAFT_QUALITY, PROOF_QUALITY, NONANTIALIASED_QUALITY, ANTIALIASED_QUALITY); + DRAFT_QUALITY, PROOF_QUALITY, NONANTIALIASED_QUALITY, ANTIALIASED_QUALITY, + CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY); var ALogFont: TLogFont; CachedFont: TFontHandleCacheDescriptor; diff --git a/lcl/interfaces/qt/qtwinapi.inc b/lcl/interfaces/qt/qtwinapi.inc index 841979d842..f744218376 100644 --- a/lcl/interfaces/qt/qtwinapi.inc +++ b/lcl/interfaces/qt/qtwinapi.inc @@ -534,8 +534,15 @@ var QtFont: TQtFont; FamilyName: string; const - QStyleStategy: Array [DEFAULT_QUALITY..ANTIALIASED_QUALITY] of QFontStyleStrategy = - (QFontPreferDefault, QFontPreferMatch, QFontPreferQuality, QFontNoAntialias, QFontPreferAntialias); + QStyleStategy: array [DEFAULT_QUALITY..CLEARTYPE_NATURAL_QUALITY] of QFontStyleStrategy = ( + { DEFAULT_QUALITY } QFontPreferDefault, + { DRAFT_QUALITY } QFontPreferMatch, + { PROOF_QUALITY } QFontPreferQuality, + { NONANTIALIASED_QUALITY } QFontNoAntialias, + { ANTIALIASED_QUALITY } QFontPreferAntialias, + { CLEARTYPE_QUALITY } QFontPreferAntialias, + { CLEARTYPE_NATURAL_QUALITY } QFontPreferAntialias + ); begin {$ifdef VerboseQtWinAPI} WriteLn('[WinAPI CreateFontIndirectEx] FontName: ' + LongFontName); @@ -579,7 +586,7 @@ begin QtFont.setFamily(FamilyName); end; - if (LogFont.lfQuality >= DEFAULT_QUALITY) and (LogFont.lfQuality <= ANTIALIASED_QUALITY) then + if (LogFont.lfQuality >= Low(QStyleStategy)) and (LogFont.lfQuality <= High(QStyleStategy)) then QtFont.setStyleStrategy(QStyleStategy[LogFont.lfQuality]); finally Result := HFONT(QtFont); diff --git a/lcl/lcltype.pp b/lcl/lcltype.pp index bcb5323208..5001b31b03 100644 --- a/lcl/lcltype.pp +++ b/lcl/lcltype.pp @@ -1212,11 +1212,13 @@ const CLIP_TT_ALWAYS = (2 shl 4); CLIP_EMBEDDED = (8 shl 4); - DEFAULT_QUALITY = 0; - DRAFT_QUALITY = 1; - PROOF_QUALITY = 2; - NONANTIALIASED_QUALITY = 3; - ANTIALIASED_QUALITY = 4; + DEFAULT_QUALITY = 0; + DRAFT_QUALITY = 1; + PROOF_QUALITY = 2; + NONANTIALIASED_QUALITY = 3; + ANTIALIASED_QUALITY = 4; + CLEARTYPE_QUALITY = 5; + CLEARTYPE_NATURAL_QUALITY = 6; DEFAULT_PITCH = 0; FIXED_PITCH = 1;