Skip to main content

FcFontCache

Struct FcFontCache 

Source
pub struct FcFontCache { /* private fields */ }
Expand description

Font cache, initialized at startup.

Implementations§

Source§

impl FcFontCache

Source

pub fn resolve_font_chain( &self, font_families: &[String], weight: FcWeight, italic: PatternMatch, oblique: PatternMatch, trace: &mut Vec<TraceMsg>, ) -> FontFallbackChain

Resolve a fallback chain for a CSS font stack with the default script set.

Source

pub fn resolve_font_chain_with_scripts( &self, font_families: &[String], weight: FcWeight, italic: PatternMatch, oblique: PatternMatch, scripts_hint: Option<&[UnicodeRange]>, _trace: &mut Vec<TraceMsg>, ) -> FontFallbackChain

Resolve a fallback chain, building script fallback groups for the requested unicode blocks.

Source

pub fn compute_fallbacks( &self, font_id: &FontId, _trace: &mut Vec<TraceMsg>, ) -> Vec<FontMatchNoFallback>

Finds all registered fonts covering part of font_id’s coverage, ranked by closeness.

Source§

impl FcFontCache

Source

pub fn fallback_config(&self) -> FcFallbackConfig

The fallback configuration this cache resolves with (a copy).

Source

pub fn set_fallback_config(&self, config: FcFallbackConfig) -> &Self

Replace the fallback configuration.

Source

pub fn with_fallback_config(self, config: FcFallbackConfig) -> Self

Builder-style set_fallback_config.

Source

pub fn system_alias_prefs(&self, family: &str) -> Vec<String>

👎Deprecated since 5.0.0:

read fallback_config().generic_candidates(..) / substitutions_for(..)

The configured candidates for family: a generic keyword’s base.

Source

pub fn expand_font_families_config_first( &self, families: &[String], os: OperatingSystem, unicode_ranges: &[UnicodeRange], ) -> Vec<String>

👎Deprecated since 5.0.0:

use fallback_config().candidate_families(families, ranges)

Expand a CSS stack through this cache’s configuration, filling gaps.

Source

pub fn with_memory_fonts(&self, fonts: Vec<(FcPattern, FcFont)>) -> &Self

Adds in-memory font files.

Source

pub fn with_memory_font_with_id( &self, id: FontId, pattern: FcPattern, font: FcFont, ) -> &Self

Adds a memory font with a specific ID (for testing).

Source

pub fn insert_builder_font(&self, pattern: FcPattern, path: FcFontPath)

Register a newly-parsed on-disk font.

Source

pub fn insert_fast_pattern( &self, pattern: FcPattern, path: FcFontPath, ) -> FontId

Insert a fast-probed pattern into the cache and return its.

Source

pub fn lookup_paths_cached(&self, path: &str) -> Option<Vec<FontId>>

Every FontId registered from the file at path (one per face and.

Source

pub fn get_font_by_id(&self, id: &FontId) -> Option<OwnedFontSource>

Get font data for a given font ID.

Source

pub fn get_metadata_by_id(&self, id: &FontId) -> Option<FcPattern>

Get metadata for a font ID.

Source

pub fn get_font_bytes(&self, id: &FontId) -> Option<Arc<FontBytes>>

Get the font bytes for id as a shared FontBytes.

Source

pub fn build() -> Self

Scans system font directories using filename heuristics (no allsorts).

Source

pub fn is_memory_font(&self, id: &FontId) -> bool

Check if a font ID is a memory font (preferred over disk fonts).

Source

pub fn list(&self) -> Vec<(FcPattern, FontId)>

Every registered font with its pattern, in registration order.

Source

pub fn for_each_pattern<F: FnMut(&FcPattern, &FontId)>(&self, f: F)

Visit every registered font without cloning.

Source

pub fn is_empty(&self) -> bool

Source

pub fn len(&self) -> usize

Number of registered fonts (one per face and name record).

Source

pub fn query_with_fallback( &self, pattern: &FcPattern, trace: &mut Vec<TraceMsg>, ) -> Option<FontMatch>

Like FcFontCache::query, but total: it returns None only when the.

Source

pub fn query( &self, pattern: &FcPattern, trace: &mut Vec<TraceMsg>, ) -> Option<FontMatch>

Queries a font from the in-memory cache, returns the first found font (early return).

Source

pub fn get_memory_font(&self, id: &FontId) -> Option<FcFont>

Get in-memory font data (cloned out of the shared state).

Source

pub fn query_matches_internal( k: &FcPattern, pattern: &FcPattern, trace: &mut Vec<TraceMsg>, ) -> bool

Source

pub fn extract_font_name_tokens(name: &str) -> Vec<String>

Extract tokens from a font name.

Source

pub fn calculate_unicode_coverage(ranges: &[UnicodeRange]) -> u64

Total coverage of ranges in codepoints (widths summed; callers.

Source

pub fn normalize_unicode_ranges(ranges: Vec<UnicodeRange>) -> Vec<UnicodeRange>

Coalesce ranges into a sorted, disjoint set.

Source

pub fn calculate_unicode_compatibility( requested: &[UnicodeRange], available: &[UnicodeRange], ) -> i32

Calculate how well a font’s Unicode ranges cover the requested ranges.

Source

pub fn calculate_style_score(original: &FcPattern, candidate: &FcPattern) -> i32

Trait Implementations§

Source§

impl Clone for FcFontCache

Source§

fn clone(&self) -> Self

Shallow clone — the returned handle shares the same underlying.

1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for FcFontCache

Source§

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

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

impl Default for FcFontCache

Source§

fn default() -> Self

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

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> 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
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 = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.