pub struct HintingPreference(/* private fields */);
Expand description

This enum describes the different levels of hinting that can be applied to glyphs to improve legibility on displays where it might be warranted by the density of pixels.

C++ enum: QFont::HintingPreference.

C++ documentation:

This enum describes the different levels of hinting that can be applied to glyphs to improve legibility on displays where it might be warranted by the density of pixels.

Please note that this enum only describes a preference, as the full range of hinting levels are not supported on all of Qt's supported platforms. The following table details the effect of a given hinting preference on a selected set of target platforms.

PreferDefaultHintingPreferNoHintingPreferVerticalHintingPreferFullHinting
Windows Vista (w/o Platform Update) and earlierFull hintingFull hintingFull hintingFull hinting
Windows 7 and Windows Vista (w/Platform Update) and DirectWrite enabled in QtFull hintingVertical hintingVertical hintingFull hinting
FreeTypeOperating System settingNo hintingVertical hinting (light)Full hinting
Cocoa on macOSNo hintingNo hintingNo hintingNo hinting

Note: Please be aware that altering the hinting preference on Windows is available through the DirectWrite font engine. This is available on Windows Vista after installing the platform update, and on Windows 7. In order to use this extension, configure Qt using -directwrite. The target application will then depend on the availability of DirectWrite on the target system.

This enum was introduced or modified in Qt 4.8.

Implementations§

source§

impl HintingPreference

source

pub fn to_int(&self) -> c_int

source§

impl HintingPreference

source

pub const PreferDefaultHinting: HintingPreference = _

Use the default hinting level for the target platform. (C++ enum variant: PreferDefaultHinting = 0)

source

pub const PreferNoHinting: HintingPreference = _

If possible, render text without hinting the outlines of the glyphs. The text layout will be typographically accurate and scalable, using the same metrics as are used e.g. when printing. (C++ enum variant: PreferNoHinting = 1)

source

pub const PreferVerticalHinting: HintingPreference = _

If possible, render text with no horizontal hinting, but align glyphs to the pixel grid in the vertical direction. The text will appear crisper on displays where the density is too low to give an accurate rendering of the glyphs. But since the horizontal metrics of the glyphs are unhinted, the text’s layout will be scalable to higher density devices (such as printers) without impacting details such as line breaks. (C++ enum variant: PreferVerticalHinting = 2)

source

pub const PreferFullHinting: HintingPreference = _

If possible, render text with hinting in both horizontal and vertical directions. The text will be altered to optimize legibility on the target device, but since the metrics will depend on the target size of the text, the positions of glyphs, line breaks, and other typographical detail will not scale, meaning that a text layout may look different on devices with different pixel densities. (C++ enum variant: PreferFullHinting = 3)

Trait Implementations§

source§

impl Clone for HintingPreference

source§

fn clone(&self) -> HintingPreference

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HintingPreference

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<HintingPreference> for c_int

source§

fn from(value: HintingPreference) -> Self

Converts to this type from the input type.
source§

impl From<i32> for HintingPreference

source§

fn from(value: c_int) -> Self

Converts to this type from the input type.
source§

impl PartialEq for HintingPreference

source§

fn eq(&self, other: &HintingPreference) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for HintingPreference

source§

impl Eq for HintingPreference

source§

impl StructuralEq for HintingPreference

source§

impl StructuralPartialEq for HintingPreference

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T, U> CastInto<U> for T
where U: CastFrom<T>,

source§

unsafe fn cast_into(self) -> U

Performs the conversion. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> StaticUpcast<T> for T

source§

unsafe fn static_upcast(ptr: Ptr<T>) -> Ptr<T>

Convert type of a const pointer. Read more
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.