summaryrefslogtreecommitdiffstats
path: root/graphics/src/font
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--graphics/src/font.rs11
-rw-r--r--graphics/src/font/source.rs8
2 files changed, 19 insertions, 0 deletions
diff --git a/graphics/src/font.rs b/graphics/src/font.rs
index a490e609..bcc28857 100644
--- a/graphics/src/font.rs
+++ b/graphics/src/font.rs
@@ -1,22 +1,33 @@
+//! Find system fonts or use the built-in ones.
#[cfg(feature = "font-source")]
mod source;
#[cfg(feature = "font-source")]
+#[cfg_attr(docsrs, doc(cfg(feature = "font-source")))]
pub use source::Source;
#[cfg(feature = "font-source")]
+#[cfg_attr(docsrs, doc(cfg(feature = "font-source")))]
pub use font_kit::{
error::SelectionError as LoadError, family_name::FamilyName as Family,
};
+/// A built-in fallback font, for convenience.
#[cfg(feature = "font-fallback")]
+#[cfg_attr(docsrs, doc(cfg(feature = "font-fallback")))]
pub const FALLBACK: &[u8] = include_bytes!("../fonts/Lato-Regular.ttf");
+/// A built-in icon font, for convenience.
#[cfg(feature = "font-icons")]
+#[cfg_attr(docsrs, doc(cfg(feature = "font-icons")))]
pub const ICONS: iced_native::Font = iced_native::Font::External {
name: "iced_wgpu icons",
bytes: include_bytes!("../fonts/Icons.ttf"),
};
+/// The `char` representing a ✔ icon in the built-in [`ICONS`] font.
+///
+/// [`ICONS`]: const.ICONS.html
#[cfg(feature = "font-icons")]
+#[cfg_attr(docsrs, doc(cfg(feature = "font-icons")))]
pub const CHECKMARK_ICON: char = '\u{F00C}';
diff --git a/graphics/src/font/source.rs b/graphics/src/font/source.rs
index 6855aa93..917291ff 100644
--- a/graphics/src/font/source.rs
+++ b/graphics/src/font/source.rs
@@ -1,16 +1,24 @@
use crate::font::{Family, LoadError};
+/// A font source that can find and load system fonts.
+#[allow(missing_debug_implementations)]
pub struct Source {
raw: font_kit::source::SystemSource,
}
impl Source {
+ /// Creates a new [`Source`].
+ ///
+ /// [`Source`]: struct.Source.html
pub fn new() -> Self {
Source {
raw: font_kit::source::SystemSource::new(),
}
}
+ /// Finds and loads a font matching the set of provided family priorities.
+ ///
+ /// [`Source`]: struct.Source.html
pub fn load(&self, families: &[Family]) -> Result<Vec<u8>, LoadError> {
let font = self.raw.select_best_match(
families,