Struct read_fonts::tables::name::NameId

source ·
pub struct NameId(/* 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§

source§

impl NameId

source

pub const COPYRIGHT_NOTICE: NameId = _

Copyright notice.

source

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).

source

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).

source

pub const UNIQUE_ID: NameId = _

Unique font identifier.

source

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.

source

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).

source

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 ‘[’, ‘]’, ‘(’, ‘)’, ‘{’, ‘}’, ‘<’, ‘>’, ‘/’, ‘%’.

source

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.

source

pub const MANUFACTURER: NameId = _

Manufacturer name.

source

pub const DESIGNER: NameId = _

Name of the designer of the typeface.

source

pub const DESCRIPTION: NameId = _

Description of the typeface.

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

source

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.

source

pub const DESIGNER_URL: NameId = _

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

source

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.

source

pub const LICENSE_URL: NameId = _

URL where additional licensing information can be found.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source

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.

source§

impl NameId

source

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

Create a new identifier from a raw u16 value.

source

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

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

source

pub const fn to_u16(self) -> u16

Return the identifier as a u16.

source

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§

source§

impl Clone for NameId

source§

fn clone(&self) -> NameId

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 NameId

source§

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

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

impl Default for NameId

source§

fn default() -> NameId

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

impl Display for NameId

source§

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

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

impl Domain for NameId

source§

fn to_u32(&self) -> u32

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

fn from_u32(member: InDomain) -> NameId

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

fn is_continuous() -> bool

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

fn ordered_values() -> impl DoubleEndedIterator<Item = u32>

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

fn ordered_values_range( range: RangeInclusive<NameId>, ) -> impl DoubleEndedIterator<Item = u32>

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

fn count() -> u64

Returns the number of members in the domain.
source§

impl<'a> From<NameId> for FieldType<'a>

source§

fn from(src: NameId) -> FieldType<'a>

Converts to this type from the input type.
source§

impl From<u16> for NameId

source§

fn from(value: u16) -> NameId

Converts to this type from the input type.
source§

impl Hash for NameId

source§

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
source§

impl Ord for NameId

source§

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

Restrict a value to a certain interval. Read more
source§

impl PartialEq for NameId

source§

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.
source§

impl PartialOrd for NameId

source§

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
source§

impl Scalar for NameId

source§

type Raw = [u8; 2]

The raw byte representation of this type.
source§

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

Encode this type as raw big-endian bytes
source§

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

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

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

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

impl Zeroable for NameId

source§

fn zeroed() -> Self

source§

impl AnyBitPattern for NameId

source§

impl Copy for NameId

source§

impl Eq for NameId

source§

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<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> CheckedBitPattern for T
where T: AnyBitPattern,

source§

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.
source§

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, dst: *mut T)

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

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

source§

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, 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> 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> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. 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.