Struct read_fonts::tables::glyf::CompositeGlyphFlags
source · pub struct CompositeGlyphFlags { /* private fields */ }
Expand description
Flags used in CompositeGlyph
Implementations§
source§impl CompositeGlyphFlags
impl CompositeGlyphFlags
sourcepub const ARG_1_AND_2_ARE_WORDS: Self = _
pub const ARG_1_AND_2_ARE_WORDS: Self = _
Bit 0: If this is set, the arguments are 16-bit (uint16 or int16); otherwise, they are bytes (uint8 or int8).
sourcepub const ARGS_ARE_XY_VALUES: Self = _
pub const ARGS_ARE_XY_VALUES: Self = _
Bit 1: If this is set, the arguments are signed xy values; otherwise, they are unsigned point numbers.
sourcepub const ROUND_XY_TO_GRID: Self = _
pub const ROUND_XY_TO_GRID: Self = _
Bit 2: If set and ARGS_ARE_XY_VALUES is also set, the xy values are rounded to the nearest grid line. Ignored if ARGS_ARE_XY_VALUES is not set.
sourcepub const WE_HAVE_A_SCALE: Self = _
pub const WE_HAVE_A_SCALE: Self = _
Bit 3: This indicates that there is a simple scale for the component. Otherwise, scale = 1.0.
sourcepub const MORE_COMPONENTS: Self = _
pub const MORE_COMPONENTS: Self = _
Bit 5: Indicates at least one more glyph after this one.
sourcepub const WE_HAVE_AN_X_AND_Y_SCALE: Self = _
pub const WE_HAVE_AN_X_AND_Y_SCALE: Self = _
Bit 6: The x direction will use a different scale from the y direction.
sourcepub const WE_HAVE_A_TWO_BY_TWO: Self = _
pub const WE_HAVE_A_TWO_BY_TWO: Self = _
Bit 7: There is a 2 by 2 transformation that will be used to scale the component.
sourcepub const WE_HAVE_INSTRUCTIONS: Self = _
pub const WE_HAVE_INSTRUCTIONS: Self = _
Bit 8: Following the last component are instructions for the composite character.
sourcepub const USE_MY_METRICS: Self = _
pub const USE_MY_METRICS: Self = _
Bit 9: If set, this forces the aw and lsb (and rsb) for the composite to be equal to those from this component glyph. This works for hinted and unhinted glyphs.
sourcepub const OVERLAP_COMPOUND: Self = _
pub const OVERLAP_COMPOUND: Self = _
Bit 10: If set, the components of the compound glyph overlap. Use of this flag is not required in OpenType — that is, it is valid to have components overlap without having this flag set. It may affect behaviors in some platforms, however. (See Apple’s specification for details regarding behavior in Apple platforms.) When used, it must be set on the flag word for the first component. See additional remarks, above, for the similar OVERLAP_SIMPLE flag used in simple-glyph descriptions.
sourcepub const SCALED_COMPONENT_OFFSET: Self = _
pub const SCALED_COMPONENT_OFFSET: Self = _
Bit 11: The composite is designed to have the component offset scaled. Ignored if ARGS_ARE_XY_VALUES is not set.
sourcepub const UNSCALED_COMPONENT_OFFSET: Self = _
pub const UNSCALED_COMPONENT_OFFSET: Self = _
Bit 12: The composite is designed not to have the component offset scaled. Ignored if ARGS_ARE_XY_VALUES is not set.
source§impl CompositeGlyphFlags
impl CompositeGlyphFlags
sourcepub const fn from_bits(bits: u16) -> Option<Self>
pub const fn from_bits(bits: u16) -> Option<Self>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
sourcepub const fn from_bits_truncate(bits: u16) -> Self
pub const fn from_bits_truncate(bits: u16) -> Self
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Returns true
if there are flags common to both self
and other
.
sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Returns true
if all of the flags in other
are contained within self
.
sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
Returns the intersection between the flags in self
and
other
.
Specifically, the returned set contains only the flags which are
present in both self
and other
.
This is equivalent to using the &
operator (e.g.
ops::BitAnd
), as in flags & other
.
sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
Returns the union of between the flags in self
and other
.
Specifically, the returned set contains all flags which are
present in either self
or other
, including any which are
present in both.
This is equivalent to using the |
operator (e.g.
ops::BitOr
), as in flags | other
.
sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
Returns the difference between the flags in self
and other
.
Specifically, the returned set contains all flags present in
self
, except for the ones present in other
.
It is also conceptually equivalent to the “bit-clear” operation:
flags & !other
(and this syntax is also supported).
This is equivalent to using the -
operator (e.g.
ops::Sub
), as in flags - other
.
Trait Implementations§
source§impl Binary for CompositeGlyphFlags
impl Binary for CompositeGlyphFlags
source§impl BitAnd for CompositeGlyphFlags
impl BitAnd for CompositeGlyphFlags
source§impl BitAndAssign for CompositeGlyphFlags
impl BitAndAssign for CompositeGlyphFlags
source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
Disables all flags disabled in the set.
source§impl BitOr for CompositeGlyphFlags
impl BitOr for CompositeGlyphFlags
source§fn bitor(self, other: CompositeGlyphFlags) -> Self
fn bitor(self, other: CompositeGlyphFlags) -> Self
Returns the union of the two sets of flags.
§type Output = CompositeGlyphFlags
type Output = CompositeGlyphFlags
|
operator.source§impl BitOrAssign for CompositeGlyphFlags
impl BitOrAssign for CompositeGlyphFlags
source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
source§impl BitXor for CompositeGlyphFlags
impl BitXor for CompositeGlyphFlags
source§impl BitXorAssign for CompositeGlyphFlags
impl BitXorAssign for CompositeGlyphFlags
source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
source§impl Clone for CompositeGlyphFlags
impl Clone for CompositeGlyphFlags
source§fn clone(&self) -> CompositeGlyphFlags
fn clone(&self) -> CompositeGlyphFlags
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CompositeGlyphFlags
impl Debug for CompositeGlyphFlags
source§impl Default for CompositeGlyphFlags
impl Default for CompositeGlyphFlags
source§fn default() -> CompositeGlyphFlags
fn default() -> CompositeGlyphFlags
source§impl<'a> From<CompositeGlyphFlags> for FieldType<'a>
impl<'a> From<CompositeGlyphFlags> for FieldType<'a>
source§fn from(src: CompositeGlyphFlags) -> FieldType<'a>
fn from(src: CompositeGlyphFlags) -> FieldType<'a>
source§impl Hash for CompositeGlyphFlags
impl Hash for CompositeGlyphFlags
source§impl LowerHex for CompositeGlyphFlags
impl LowerHex for CompositeGlyphFlags
source§impl Not for CompositeGlyphFlags
impl Not for CompositeGlyphFlags
source§impl Octal for CompositeGlyphFlags
impl Octal for CompositeGlyphFlags
source§impl Ord for CompositeGlyphFlags
impl Ord for CompositeGlyphFlags
source§fn cmp(&self, other: &CompositeGlyphFlags) -> Ordering
fn cmp(&self, other: &CompositeGlyphFlags) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for CompositeGlyphFlags
impl PartialEq for CompositeGlyphFlags
source§fn eq(&self, other: &CompositeGlyphFlags) -> bool
fn eq(&self, other: &CompositeGlyphFlags) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for CompositeGlyphFlags
impl PartialOrd for CompositeGlyphFlags
source§fn partial_cmp(&self, other: &CompositeGlyphFlags) -> Option<Ordering>
fn partial_cmp(&self, other: &CompositeGlyphFlags) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl Scalar for CompositeGlyphFlags
impl Scalar for CompositeGlyphFlags
source§impl Sub for CompositeGlyphFlags
impl Sub for CompositeGlyphFlags
source§impl SubAssign for CompositeGlyphFlags
impl SubAssign for CompositeGlyphFlags
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Disables all flags enabled in the set.
source§impl UpperHex for CompositeGlyphFlags
impl UpperHex for CompositeGlyphFlags
impl AnyBitPattern for CompositeGlyphFlags
impl Copy for CompositeGlyphFlags
impl Eq for CompositeGlyphFlags
impl StructuralPartialEq for CompositeGlyphFlags
Auto Trait Implementations§
impl Freeze for CompositeGlyphFlags
impl RefUnwindSafe for CompositeGlyphFlags
impl Send for CompositeGlyphFlags
impl Sync for CompositeGlyphFlags
impl Unpin for CompositeGlyphFlags
impl UnwindSafe for CompositeGlyphFlags
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§type Bits = T
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
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.