# Struct StringId

    pub struct StringId(/* private fields */);

Expand description

Identifier for an informational string (or name).

A set of predefined identifiers exist for accessing names and other various metadata about the font and those are provided as associated constants on this type.

IDs 26 to 255, inclusive, are reserved for future standard names. IDs 256 to 32767, inclusive, are reserved for font-specific names such as those referenced by a font’s layout features.

For more detail, see https://learn.microsoft.com/en-us/typography/opentype/spec/name#name-ids

## Implementations§

§

### impl NameId

#### pub const COPYRIGHT_NOTICE: NameId

Copyright notice.

#### pub const FAMILY_NAME: NameId

Font family name.

The font family name is used in combination with font subfamily name (ID 2), and should be shared among at most four fonts that differ only in weight or style (as described below).

#### pub const SUBFAMILY_NAME: NameId

Font subfamily name.

The font subfamily name is used in combination with font family name (ID 1), and distinguishes the fonts in a group with the same font family name. This should be used for style and weight variants only (as described below).

#### pub const UNIQUE_ID: NameId

Unique font identifier.

#### pub const FULL_NAME: NameId

Full font name that reflects all family and relevant subfamily descriptors.

The full font name is generally a combination of IDs 1 and 2, or of IDs 16 and 17, or a similar human-readable variant.

#### pub const VERSION_STRING: NameId

Version string.

Should begin with the syntax “Version number.number” (upper case, lower case, or mixed, with a space between “Version” and the number).

#### pub const POSTSCRIPT_NAME: NameId

PostScript name for the font.

ID 6 specifies a string which is used to invoke a PostScript language font that corresponds to this OpenType font. When translated to ASCII, the name string must be no longer than 63 characters and restricted to the printable ASCII subset, codes 33 to 126, except for the 10 characters ‘[’, ‘]’, ‘(’, ‘)’, ‘{’, ‘}’, ‘<’, ‘>’, ‘/’, ‘%’.

#### pub const TRADEMARK: NameId

Trademark; this is used to save any trademark notice/information for this font.

Such information should be based on legal advice. This is distinctly separate from the copyright.

#### pub const MANUFACTURER: NameId

Manufacturer name.

#### pub const DESIGNER: NameId

Name of the designer of the typeface.

#### pub const DESCRIPTION: NameId

Description of the typeface.

Can contain revision information, usage recommendations, history, features, etc.

#### pub const VENDOR_URL: NameId

URL of font vendor (with protocol, e.g., http://, ftp://).

If a unique serial number is embedded in the URL, it can be used to register the font.

#### pub const DESIGNER_URL: NameId

URL of typeface designer (with protocol, e.g., http://, ftp://).

#### pub const LICENSE_DESCRIPTION: NameId

License description.

A description of how the font may be legally used, or different example scenarios for licensed use. This field should be written in plain language, not legalese.

#### pub const LICENSE_URL: NameId

URL where additional licensing information can be found.

#### pub const TYPOGRAPHIC_FAMILY_NAME: NameId

Typographic family name.

The typographic family grouping doesn’t impose any constraints on the number of faces within it, in contrast with the 4-style family grouping (ID 1), which is present both for historical reasons and to express style linking groups.

#### pub const TYPOGRAPHIC_SUBFAMILY_NAME: NameId

Typographic subfamily name.

This allows font designers to specify a subfamily name within the typographic family grouping. This string must be unique within a particular typographic family.

#### pub const COMPATIBLE_FULL_NAME: NameId

Compatible full (Macintosh only).

On the Macintosh, the menu name is constructed using the FOND resource. This usually matches the full name. If you want the name of the font to appear differently than the Full Name, you can insert the compatible full name in ID 18.

#### pub const SAMPLE_TEXT: NameId

Sample text.

This can be the font name, or any other text that the designer thinks is the best sample to display the font in.

#### pub const POSTSCRIPT_CID_NAME: NameId

PostScript CID findfont name.

Its presence in a font means that the ID 6 holds a PostScript font name that is meant to be used with the “composefont” invocation in order to invoke the font in a PostScript interpreter.

#### pub const WWS_FAMILY_NAME: NameId

WWS family name.

Used to provide a WWS-conformant family name in case the entries for IDs 16 and 17 do not conform to the WWS model.

#### pub const WWS_SUBFAMILY_NAME: NameId

WWS subfamily name.

Used in conjunction with ID 21, this ID provides a WWS-conformant subfamily name (reflecting only weight, width and slope attributes) in case the entries for IDs 16 and 17 do not conform to the WWS model.

#### pub const LIGHT_BACKGROUND_PALETTE: NameId

Light background palette.

This ID, if used in the CPAL table’s Palette Labels Array, specifies that the corresponding color palette in the CPAL table is appropriate to use with the font when displaying it on a light background such as white.

#### pub const DARK_BACKGROUND_PALETTE: NameId

Dark background palette.

This ID, if used in the CPAL table’s Palette Labels Array, specifies that the corresponding color palette in the CPAL table is appropriate to use with the font when displaying it on a dark background such as black.

#### pub const VARIATIONS_POSTSCRIPT_NAME_PREFIX: NameId

Variations PostScript name prefix.

If present in a variable font, it may be used as the family prefix in the PostScript Name Generation for Variation Fonts algorithm.

#### pub const LAST_RESERVED_NAME_ID: NameId

The last value that is explicitly reserved for standard names.

Values after this are available to be used for font-specific names.

See https://learn.microsoft.com/en-us/typography/opentype/spec/name#name-ids

#### pub const LAST_ALLOWED_NAME_ID: NameId

The last value that is available for font-specific names.

See https://learn.microsoft.com/en-us/typography/opentype/spec/name#name-ids

§

### impl NameId

#### pub const fn new(raw: u16) -> NameId

Create a new identifier from a raw u16 value.

#### pub fn predefined() -> impl Iterator<Item = NameId> + Clone

Returns an iterator over the set of predefined identifiers according to the specification.

#### pub const fn to_u16(self) -> u16

Return the identifier as a u16.

#### pub const fn is_reserved(self) -> bool

Returns `true` if self is in the range `0..=255` (reserved for standard names.)

#### pub const fn checked_add(self, rhs: u16) -> Option<NameId>

Returns a new `NameId` by adding `rhs` to the current value.

Returns `None` if the result would be greater than `Self::LAST_ALLOWED_NAME_ID`.

#### pub const fn to_be_bytes(self) -> [u8; 2]

Return the memory representation of this identifier as a byte array in big-endian (network) byte order.

## Trait Implementations§

§

### impl Clone for NameId

§

#### fn clone(&self) -> NameId

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from `source`. Read more
§

### impl Debug for NameId

§

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

Formats the value using the given formatter. Read more
§

### impl Default for NameId

§

#### fn default() -> NameId

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

### impl Display for NameId

§

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

Formats the value using the given formatter. Read more
§

### impl Domain for NameId

§

#### fn to_u32(&self) -> u32

Converts this value of `T` to a value in u32. Read more
§

#### fn from_u32(member: InDomain) -> NameId

Converts a mapped u32 value back to T. Read more
§

#### fn contains(value: u32) -> bool

Returns `true` if the value is part of this domain.
§

#### fn is_continuous() -> bool

Returns true if all u32 values between the mapped u32 min and mapped u32 max value of T are used.
§

#### fn ordered_values() -> impl DoubleEndedIterator

Returns an iterator which iterates over all values in the domain of `T` Read more
§

#### fn ordered_values_range( range: RangeInclusive<NameId>, ) -> impl DoubleEndedIterator

Return an iterator which iterates over all values of T in the given range. Read more
§

#### fn count() -> u64

Returns the number of members in the domain.
§

### impl From<u16> for NameId

§

#### fn from(value: u16) -> NameId

Converts to this type from the input type.
§

### impl Hash for NameId

§

#### fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given `Hasher`. Read more
1.3.0 · Source§

#### fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given `Hasher`. Read more
§

### impl Ord for NameId

§

#### fn cmp(&self, other: &NameId) -> Ordering

This method returns an `Ordering` between `self` and `other`. Read more
1.21.0 · Source§

#### fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

#### fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

#### fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
§

### impl PartialEq for NameId

§

#### fn eq(&self, other: &NameId) -> 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.
§

### impl PartialOrd for NameId

§

#### fn partial_cmp(&self, other: &NameId) -> Option<Ordering>

This method returns an ordering between `self` and `other` values if one exists. Read more
1.0.0 · Source§

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

Tests less than (for `self` and `other`) and is used by the `<` operator. Read more
1.0.0 · Source§

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

Tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more
1.0.0 · Source§

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

Tests greater than (for `self` and `other`) and is used by the `>` operator. Read more
1.0.0 · Source§

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

Tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more
§

### impl Scalar for NameId

§

#### type Raw = [u8; 2]

The raw byte representation of this type.
§

#### fn to_raw(self) -> [u8; 2]

Encode this type as raw big-endian bytes
§

#### fn from_raw(raw: [u8; 2]) -> NameId

Create an instance of this type from raw big-endian bytes
§

#### fn read(slice: &[u8]) -> Option<Self>

Attempt to read a scalar from a slice. Read more
§

### impl Zeroable for NameId

§

#### fn zeroed() -> Self

Calls `zeroed`. Read more
§

### impl AnyBitPattern for NameId

§

### impl Copy for NameId

§

### impl Eq for NameId

§

### impl StructuralPartialEq for NameId

## Auto Trait Implementations§

§

### impl Freeze for NameId

§

### impl RefUnwindSafe for NameId

§

### impl Send for NameId

§

### impl Sync for NameId

§

### impl Unpin for NameId

§

### impl UnwindSafe for NameId

## Blanket Implementations§

Source§

### impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
where T: Real + Zero + Arithmetics + Clone, Swp: WhitePoint<T>, Dwp: WhitePoint<T>, D: AdaptFrom<S, Swp, Dwp, T>,

Source§

#### fn adapt_into_using<M>(self, method: M) -> D
where M: TransformMatrix<T>,

Convert the source color to the destination color using the specified method.
Source§

#### fn adapt_into(self) -> D

Convert the source color to the destination color using the bradford method by default.
§

### impl<T> Also for T

§

#### fn also<F>(self, block: F) -> Self
where F: FnOnce(&mut Self),

Apply a function to this value and return the (possibly) modified value.
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> AnyEq for T
where T: Any + PartialEq,

§

#### fn equals(&self, other: &(dyn Any + 'static)) -> bool

§

#### fn as_any(&self) -> &(dyn Any + 'static)

§

### impl<T, Res> Apply<Res> for T
where T: ?Sized,

§

#### fn apply<F>(self, f: F) -> Res
where F: FnOnce(Self) -> Res, Self: Sized,

Apply a function which takes the parameter by value.
§

#### fn apply_ref<F>(&self, f: F) -> Res
where F: FnOnce(&Self) -> Res,

Apply a function which takes the parameter by reference.
§

#### fn apply_mut<F>(&mut self, f: F) -> Res
where F: FnOnce(&mut Self) -> Res,

Apply a function which takes the parameter by mutable reference.
Source§

### impl<T, C> ArraysFrom<C> for T
where C: IntoArrays<T>,

Source§

#### fn arrays_from(colors: C) -> T

Cast a collection of colors into a collection of arrays.
Source§

### impl<T, C> ArraysInto<C> for T
where C: FromArrays<T>,

Source§

#### fn arrays_into(self) -> C

Cast this collection of arrays into a collection of colors.
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for U
where T: FromCam16Unclamped<WpParam, U>,

Source§

#### type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar

The number type that’s used in `parameters` when converting.
Source§

#### fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T

Converts `self` into `C`, using the provided parameters.
§

### impl<T> CheckedBitPattern for T
where T: AnyBitPattern,

§

#### type Bits = T

`Self` must have the same layout as the specified `Bits` except for the possible invalid bit patterns being checked during `is_valid_bit_pattern`.
§

#### fn is_valid_bit_pattern(_bits: &T) -> bool

If this function returns true, then it must be valid to reinterpret `bits` as `&Self`.
Source§

### impl<T> CloneToUninit for T
where T: Clone,

Source§

#### unsafe fn clone_to_uninit(&self, dest: *mut u8)

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

### impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

§

#### fn compare(&self, key: &K) -> Ordering

Compare self to `key` and return their ordering.
Source§

### impl<T, C> ComponentsFrom<C> for T
where C: IntoComponents<T>,

Source§

#### fn components_from(colors: C) -> T

Cast a collection of colors into a collection of color components.
§

### impl<T> Downcast for T
where T: Any,

§

#### fn into_any(self: Box<T>) -> Box<dyn Any>

Convert `Box<dyn Trait>` (where `Trait: Downcast`) to `Box<dyn Any>`. `Box<dyn Any>` can then be further `downcast` into `Box<ConcreteType>` where `ConcreteType` implements `Trait`.
§

#### fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert `Rc<Trait>` (where `Trait: Downcast`) to `Rc<Any>`. `Rc<Any>` can then be further `downcast` into `Rc<ConcreteType>` where `ConcreteType` implements `Trait`.
§

#### fn as_any(&self) -> &(dyn Any + 'static)

Convert `&Trait` (where `Trait: Downcast`) to `&Any`. This is needed since Rust cannot generate `&Any`’s vtable from `&Trait`’s.
§

#### fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert `&mut Trait` (where `Trait: Downcast`) to `&Any`. This is needed since Rust cannot generate `&mut Any`’s vtable from `&mut Trait`’s.
§

### impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

#### fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert `Arc<Trait>` (where `Trait: Downcast`) to `Arc<Any>`. `Arc<Any>` can then be further `downcast` into `Arc<ConcreteType>` where `ConcreteType` implements `Trait`.
§

### impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

#### fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

### impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

#### fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

### impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

#### fn equivalent(&self, key: &K) -> bool

Compare self to `key` and return `true` if they are equal.
§

### impl<T> FixedSize for T
where T: Scalar,

§

#### const RAW_BYTE_LEN: usize

The raw size of this type, in bytes. Read more
Source§

### impl<T> From<T> for T

Source§

#### fn from(t: T) -> T

Returns the argument unchanged.

Source§

### impl<T> FromAngle<T> for T

Source§

#### fn from_angle(angle: T) -> T

Performs a conversion from `angle`.
Source§

### impl<T, U> FromStimulus<U> for T
where U: IntoStimulus<T>,

Source§

#### fn from_stimulus(other: U) -> T

Converts `other` into `Self`, while performing the appropriate scaling, rounding and clamping.
§

### impl<T> Instrument for T

§

#### fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [`Span`], returning an `Instrumented` wrapper. Read more
§

#### fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current `Span`, returning an `Instrumented` wrapper. Read more
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, U> IntoAngle<U> for T
where U: FromAngle<T>,

Source§

#### fn into_angle(self) -> U

Performs a conversion into `T`.
§

### impl<State, Message> IntoBoot<State, Message> for State

§

#### fn into_boot(self) -> (State, Task<Message>)

Turns some type into the initial state of some `Application`.
Source§

### impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for U
where T: Cam16FromUnclamped<WpParam, U>,

Source§

#### type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar

The number type that’s used in `parameters` when converting.
Source§

#### fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T

Converts `self` into `C`, using the provided parameters.
Source§

### impl<T, U> IntoColor<U> for T
where U: FromColor<T>,

Source§

#### fn into_color(self) -> U

Convert into T with values clamped to the color defined bounds Read more
Source§

### impl<T, U> IntoColorUnclamped<U> for T
where U: FromColorUnclamped<T>,

Source§

#### fn into_color_unclamped(self) -> U

Convert into T. The resulting color might be invalid in its color space Read more
Source§

### impl<T> IntoStimulus<T> for T

Source§

#### fn into_stimulus(self) -> T

Converts `self` into `T`, while performing the appropriate scaling, rounding and clamping.
§

### impl<T> NoneValue for T
where T: Default,

§

#### type NoneType = T

§

#### fn null_value() -> T

The none-equivalent value.
Source§

### impl<T> Same for T

Source§

#### type Output = T

Should always be `Self`
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
§

### impl<T> ToSmolStr for T
where T: Display + ?Sized,

§

#### fn to_smolstr(&self) -> SmolStr

Source§

### impl<T> ToString for T
where T: Display + ?Sized,

Source§

#### fn to_string(&self) -> String

Converts the given value to a `String`. Read more
Source§

### impl<T, C> TryComponentsInto<C> for T
where C: TryFromComponents<T>,

Source§

#### type Error = <C as TryFromComponents<T>>::Error

The error for when `try_into_colors` fails to cast.
Source§

#### fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>

Try to cast this collection of color components into a collection of colors. 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.
Source§

### impl<T, U> TryIntoColor<U> for T
where U: TryFromColor<T>,

Source§

#### fn try_into_color(self) -> Result<U, OutOfBounds<U>>

Convert into T, returning ok if the color is inside of its defined range, otherwise an `OutOfBounds` error is returned which contains the unclamped color. Read more
Source§

### impl<C, U> UintsFrom<C> for U
where C: IntoUints<U>,

Source§

#### fn uints_from(colors: C) -> U

Cast a collection of colors into a collection of unsigned integers.
Source§

### impl<C, U> UintsInto<C> for U
where C: FromUints<U>,

Source§

#### fn uints_into(self) -> C

Cast this collection of unsigned integers into a collection of colors.
§

### impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

#### fn vzip(self) -> V

§

### impl<T> WithSubscriber for T

§

#### fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided `Subscriber` to this type, returning a [`WithDispatch`] wrapper. Read more
§

#### fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default `Subscriber` to this type, returning a [`WithDispatch`] wrapper. Read more
§

### impl<T> MaybeClone for T

§

### impl<T> MaybeDebug for T

§

### impl<T> MaybeSend for T
where T: Send,

§

### impl<T> MaybeSend for T
where T: Send,

§

### impl<T> MaybeSync for T
where T: Sync,

§

### impl<T> MaybeSync for T
where T: Sync,