Struct font_kit::sources::multi::MultiSource
source · pub struct MultiSource {
subsources: Vec<Box<dyn Source>>,
}
Expand description
A source that encapsulates multiple sources and allows them to be queried as a group.
This is useful when an application wants a library of fonts consisting of the installed system fonts plus some other application-supplied fonts.
Fields§
§subsources: Vec<Box<dyn Source>>
Implementations§
source§impl MultiSource
impl MultiSource
sourcepub fn from_sources(subsources: Vec<Box<dyn Source>>) -> MultiSource
pub fn from_sources(subsources: Vec<Box<dyn Source>>) -> MultiSource
Creates a new source that contains all the fonts in the supplied sources.
sourcepub fn all_fonts(&self) -> Result<Vec<Handle>, SelectionError>
pub fn all_fonts(&self) -> Result<Vec<Handle>, SelectionError>
Returns paths of all fonts installed on the system.
sourcepub fn all_families(&self) -> Result<Vec<String>, SelectionError>
pub fn all_families(&self) -> Result<Vec<String>, SelectionError>
Returns the names of all families installed on the system.
sourcepub fn select_family_by_name(
&self,
family_name: &str,
) -> Result<FamilyHandle, SelectionError>
pub fn select_family_by_name( &self, family_name: &str, ) -> Result<FamilyHandle, SelectionError>
Looks up a font family by name and returns the handles of all the fonts in that family.
sourcepub fn select_by_postscript_name(
&self,
postscript_name: &str,
) -> Result<Handle, SelectionError>
pub fn select_by_postscript_name( &self, postscript_name: &str, ) -> Result<Handle, SelectionError>
Selects a font by PostScript name, which should be a unique identifier.
sourcepub fn select_best_match(
&self,
family_names: &[FamilyName],
properties: &Properties,
) -> Result<Handle, SelectionError>
pub fn select_best_match( &self, family_names: &[FamilyName], properties: &Properties, ) -> Result<Handle, SelectionError>
Performs font matching according to the CSS Fonts Level 3 specification and returns the handle.
sourcepub fn iter_mut(&mut self) -> MultiIterMut<'_> ⓘ
pub fn iter_mut(&mut self) -> MultiIterMut<'_> ⓘ
Returns an iterator over the contained sources with mutable access.
sourcepub fn find_source<T: Source + 'static>(&self) -> Option<&T>
pub fn find_source<T: Source + 'static>(&self) -> Option<&T>
A convenience method to get the first source with the given type.
Returns None
if no source of the given type was found.
sourcepub fn find_source_mut<T: Source + 'static>(&mut self) -> Option<&mut T>
pub fn find_source_mut<T: Source + 'static>(&mut self) -> Option<&mut T>
A convenience method to get the first source with the given type.
Returns None
if no source of the given type was found.
Trait Implementations§
source§impl Index<usize> for MultiSource
impl Index<usize> for MultiSource
source§impl IndexMut<usize> for MultiSource
impl IndexMut<usize> for MultiSource
source§impl Source for MultiSource
impl Source for MultiSource
source§fn all_fonts(&self) -> Result<Vec<Handle>, SelectionError>
fn all_fonts(&self) -> Result<Vec<Handle>, SelectionError>
source§fn all_families(&self) -> Result<Vec<String>, SelectionError>
fn all_families(&self) -> Result<Vec<String>, SelectionError>
source§fn select_family_by_name(
&self,
family_name: &str,
) -> Result<FamilyHandle, SelectionError>
fn select_family_by_name( &self, family_name: &str, ) -> Result<FamilyHandle, SelectionError>
source§fn select_by_postscript_name(
&self,
postscript_name: &str,
) -> Result<Handle, SelectionError>
fn select_by_postscript_name( &self, postscript_name: &str, ) -> Result<Handle, SelectionError>
source§fn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
Source
as Any
, which allows downcasting back to a concrete type from a
trait object.source§fn as_mut_any(&mut self) -> &mut dyn Any
fn as_mut_any(&mut self) -> &mut dyn Any
Source
as Any
, which allows downcasting back to a concrete type from a
trait object.