read_fonts::tables::bitmap

Struct BitmapSize

source
#[repr(C, packed(1))]
pub struct BitmapSize { pub index_subtable_array_offset: BigEndian<u32>, pub index_tables_size: BigEndian<u32>, pub number_of_index_subtables: BigEndian<u32>, pub color_ref: BigEndian<u32>, pub hori: SbitLineMetrics, pub vert: SbitLineMetrics, pub start_glyph_index: BigEndian<GlyphId16>, pub end_glyph_index: BigEndian<GlyphId16>, pub ppem_x: u8, pub ppem_y: u8, pub bit_depth: u8, pub flags: BigEndian<BitmapFlags>, }
Expand description

BitmapSize record.

Fields§

§index_subtable_array_offset: BigEndian<u32>

Offset to index subtable from beginning of EBLC/CBLC.

§index_tables_size: BigEndian<u32>

Number of bytes in corresponding index subtables and array.

§number_of_index_subtables: BigEndian<u32>

There is an index subtable for each range or format change.

§color_ref: BigEndian<u32>

Not used; set to 0.

§hori: SbitLineMetrics

Line metrics for text rendered horizontally.

§vert: SbitLineMetrics

Line metrics for text rendered vertically.

§start_glyph_index: BigEndian<GlyphId16>

Lowest glyph index for this size.

§end_glyph_index: BigEndian<GlyphId16>

Highest glyph index for this size.

§ppem_x: u8

Horizontal pixels per em.

§ppem_y: u8

Vertical pixels per em.

§bit_depth: u8

The Microsoft rasterizer v.1.7 or greater supports the following bitDepth values, as described below: 1, 2, 4, and 8 (and 32 for CBLC).

§flags: BigEndian<BitmapFlags>

Vertical or horizontal.

Implementations§

source§

impl BitmapSize

source

pub fn index_subtable_array_offset(&self) -> u32

Offset to index subtable from beginning of EBLC/CBLC.

source

pub fn index_tables_size(&self) -> u32

Number of bytes in corresponding index subtables and array.

source

pub fn number_of_index_subtables(&self) -> u32

There is an index subtable for each range or format change.

source

pub fn color_ref(&self) -> u32

Not used; set to 0.

source

pub fn hori(&self) -> &SbitLineMetrics

Line metrics for text rendered horizontally.

source

pub fn vert(&self) -> &SbitLineMetrics

Line metrics for text rendered vertically.

source

pub fn start_glyph_index(&self) -> GlyphId16

Lowest glyph index for this size.

source

pub fn end_glyph_index(&self) -> GlyphId16

Highest glyph index for this size.

source

pub fn ppem_x(&self) -> u8

Horizontal pixels per em.

source

pub fn ppem_y(&self) -> u8

Vertical pixels per em.

source

pub fn bit_depth(&self) -> u8

The Microsoft rasterizer v.1.7 or greater supports the following bitDepth values, as described below: 1, 2, 4, and 8 (and 32 for CBLC).

source

pub fn flags(&self) -> BitmapFlags

Vertical or horizontal.

source§

impl BitmapSize

source

pub fn location( &self, offset_data: FontData<'_>, glyph_id: GlyphId, ) -> Result<BitmapLocation, ReadError>

Returns the bitmap location information for the given glyph.

The offset_data parameter is provided by the offset_data() method of the parent Eblc or Cblc table.

The resulting BitmapLocation value is used by the data() method in the associated Ebdt or Cbdt table to extract the bitmap data.

Trait Implementations§

source§

impl Clone for BitmapSize

source§

fn clone(&self) -> BitmapSize

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 BitmapSize

source§

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

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

impl FixedSize for BitmapSize

source§

const RAW_BYTE_LEN: usize = 48usize

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

impl Hash for BitmapSize

source§

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

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 BitmapSize

source§

fn cmp(&self, other: &BitmapSize) -> 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
source§

impl PartialEq for BitmapSize

source§

fn eq(&self, other: &BitmapSize) -> 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 BitmapSize

source§

fn partial_cmp(&self, other: &BitmapSize) -> 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<'a> SomeRecord<'a> for BitmapSize

source§

fn traverse(self, data: FontData<'a>) -> RecordResolver<'a>

source§

impl Zeroable for BitmapSize

source§

fn zeroed() -> Self

source§

impl AnyBitPattern for BitmapSize

source§

impl Copy for BitmapSize

source§

impl Eq for BitmapSize

source§

impl StructuralPartialEq for BitmapSize

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