fidl_fuchsia_fonts

Struct TypefaceQuery

Source
pub struct TypefaceQuery {
    pub family: Option<FamilyName>,
    pub style: Option<Style2>,
    pub languages: Option<Vec<LocaleId>>,
    pub code_points: Option<Vec<u32>>,
    pub fallback_family: Option<GenericFontFamily>,
    pub postscript_name: Option<String>,
    pub full_name: Option<String>,
    /* private fields */
}
Expand description

Parameters for looking up a typeface.

Fields§

§family: Option<FamilyName>

Desired font family name, e.g. “Roboto”. Font family search is case-insensitive.

Note: In cases where the specified family doesn’t exist, or the specified family doesn’t have a glyph for the requested code_point, a face from another family may be returned. This behavior can be disabled using TypefaceRequestFlags.EXACT_FAMILY.

§style: Option<Style2>

Style properties of the desired typeface.

§languages: Option<Vec<LocaleId>>

Language tags in order of preference. This allows disambiguating code points that map to different glyphs in different languages (e.g. CJK code points).

See fuchsia.intl.LocaleId.

§code_points: Option<Vec<u32>>

Optional code points for which glyphs must be present in the returned face.

Callers that specify this field are expected to extract the character set from the result and cache it in order to avoid calling the API more than necessary.

§fallback_family: Option<GenericFontFamily>

A generic font family to fall back to if an exact match is unavailable or does not contain the requested code point.

Every font family belongs to a generic family (configured in the font manifest). If a particular font family doesn’t contain a requested code point, the provider can search for the code point in other font families in the same generic family as a fallback.

Specifying fallback_family in a query allows the client to override the generic family that would be used as a fallback.

§postscript_name: Option<String>

The exact Postscript name of the typeface to look up. This corresponds to name ID 6 in the TrueType/OpenType name table.

All characters must be in the printable ASCII range (U+0021 to U+007E), and must not be ‘[’, ‘]’, ‘(’, ‘)’, ‘{’, ‘}’, ‘<’, ‘>’, ‘/’, or ‘%’.

If this field is specified, all the other query fields are ignored.

§full_name: Option<String>

The exact full name of the typeface to look up. This corresponds to name ID 4 in the TrueType/OpenType name table.

If this field is specified, all the other query fields are ignored.

Trait Implementations§

Source§

impl Clone for TypefaceQuery

Source§

fn clone(&self) -> TypefaceQuery

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 TypefaceQuery

Source§

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

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

impl<D: ResourceDialect> Decode<TypefaceQuery, D> for TypefaceQuery

Source§

fn new_empty() -> Self

Creates a valid instance of Self. The specific value does not matter, since it will be overwritten by decode.
Source§

unsafe fn decode( &mut self, decoder: &mut Decoder<'_, D>, offset: usize, depth: Depth, ) -> Result<()>

Decodes an object of type T from the decoder’s buffers into self. Read more
Source§

impl Default for TypefaceQuery

Source§

fn default() -> TypefaceQuery

Returns the “default value” for a type. Read more
Source§

impl<D: ResourceDialect> Encode<TypefaceQuery, D> for &TypefaceQuery

Source§

unsafe fn encode( self, encoder: &mut Encoder<'_, D>, offset: usize, depth: Depth, ) -> Result<()>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
Source§

impl PartialEq for TypefaceQuery

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl TypeMarker for TypefaceQuery

Source§

type Owned = TypefaceQuery

The owned Rust type which this FIDL type decodes into.
Source§

fn inline_align(_context: Context) -> usize

Returns the minimum required alignment of the inline portion of the encoded object. It must be a (nonzero) power of two.
Source§

fn inline_size(_context: Context) -> usize

Returns the size of the inline portion of the encoded object, including padding for alignment. Must be a multiple of inline_align.
§

fn encode_is_copy() -> bool

Returns true if the memory layout of Self::Owned matches the FIDL wire format and encoding requires no validation. When true, we can optimize encoding arrays and vectors of Self::Owned to a single memcpy. Read more
§

fn decode_is_copy() -> bool

Returns true if the memory layout of Self::Owned matches the FIDL wire format and decoding requires no validation. When true, we can optimize decoding arrays and vectors of Self::Owned to a single memcpy.
Source§

impl ValueTypeMarker for TypefaceQuery

Source§

type Borrowed<'a> = &'a TypefaceQuery

The Rust type to use for encoding. This is a particular Encode<Self> type cheaply obtainable from &Self::Owned. There are three cases: Read more
Source§

fn borrow(value: &<Self as TypeMarker>::Owned) -> Self::Borrowed<'_>

Cheaply converts from &Self::Owned to Self::Borrowed.
Source§

impl Persistable for TypefaceQuery

Source§

impl StructuralPartialEq for TypefaceQuery

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
§

impl<T> Body for T
where T: Persistable,

§

type MarkerAtTopLevel = T

The marker type to use when the body is at the top-level.
§

type MarkerInResultUnion = T

The marker type to use when the body is nested in a result union.
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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T, D> Encode<Ambiguous1, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T, D> Encode<Ambiguous2, D> for T
where D: ResourceDialect,

§

unsafe fn encode( self, _encoder: &mut Encoder<'_, D>, _offset: usize, _depth: Depth, ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<E> ErrorType for E
where E: ValueTypeMarker<Owned = E> + Decode<E, DefaultFuchsiaResourceDialect>,

§

type Marker = E

The marker type.
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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

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

Source§

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>,

Source§

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>,

Source§

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.