feat: add display UI with splash screen, dashboard, and RSSI sparkline
Implement full SSD1306 OLED display support: - Splash screen on boot (1.5s) with project name, version, board - Dashboard showing radio state, config, counters, RSSI/SNR - RSSI history sparkline (64-sample ring buffer, 2px-wide bars) - DisplayOn/DisplayOff host commands routed via dedicated channel - Pure render functions against generic DrawTarget (no hardware coupling) - Display on/off control bypasses radio task entirely Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
17624 files changed
+4564928
-38
No files matched your search
@@ -0,0 +1,140 @@
|
||||
use crate::{
|
||||
draw_target::DrawTarget, geometry::Dimensions, iterator::ContiguousIteratorExt,
|
||||
pixelcolor::BinaryColor, primitives::Rectangle, Pixel,
|
||||
};
|
||||
|
||||
pub struct MonoFontDrawTarget<'a, T, C> {
|
||||
parent: &'a mut T,
|
||||
colors: C,
|
||||
}
|
||||
|
||||
impl<'a, T: DrawTarget, C> MonoFontDrawTarget<'a, T, C> {
|
||||
pub fn new(parent: &'a mut T, colors: C) -> Self {
|
||||
Self { parent, colors }
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: DrawTarget> DrawTarget for MonoFontDrawTarget<'_, T, Foreground<T::Color>> {
|
||||
type Color = BinaryColor;
|
||||
type Error = T::Error;
|
||||
|
||||
fn fill_contiguous<I>(&mut self, area: &Rectangle, colors: I) -> Result<(), Self::Error>
|
||||
where
|
||||
I: IntoIterator<Item = Self::Color>,
|
||||
{
|
||||
let foreground_color = self.colors.0;
|
||||
|
||||
self.parent.draw_iter(
|
||||
colors
|
||||
.into_iter()
|
||||
.into_pixels(area)
|
||||
.filter(|Pixel(_, color)| color.is_on())
|
||||
.map(|Pixel(pos, _)| Pixel(pos, foreground_color)),
|
||||
)
|
||||
}
|
||||
|
||||
fn draw_iter<I>(&mut self, _pixels: I) -> Result<(), Self::Error>
|
||||
where
|
||||
I: IntoIterator<Item = Pixel<Self::Color>>,
|
||||
{
|
||||
unreachable!()
|
||||
}
|
||||
|
||||
fn fill_solid(&mut self, area: &Rectangle, color: Self::Color) -> Result<(), Self::Error> {
|
||||
match color {
|
||||
BinaryColor::On => self.parent.fill_solid(area, self.colors.0),
|
||||
BinaryColor::Off => Ok(()),
|
||||
}
|
||||
}
|
||||
|
||||
fn clear(&mut self, _color: Self::Color) -> Result<(), Self::Error> {
|
||||
unreachable!()
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: DrawTarget> DrawTarget for MonoFontDrawTarget<'_, T, Background<T::Color>> {
|
||||
type Color = BinaryColor;
|
||||
type Error = T::Error;
|
||||
|
||||
fn fill_contiguous<I>(&mut self, area: &Rectangle, colors: I) -> Result<(), Self::Error>
|
||||
where
|
||||
I: IntoIterator<Item = Self::Color>,
|
||||
{
|
||||
let foreground_color = self.colors.0;
|
||||
|
||||
self.parent.draw_iter(
|
||||
colors
|
||||
.into_iter()
|
||||
.into_pixels(area)
|
||||
.filter(|Pixel(_, color)| color.is_off())
|
||||
.map(|Pixel(pos, _)| Pixel(pos, foreground_color)),
|
||||
)
|
||||
}
|
||||
|
||||
fn draw_iter<I>(&mut self, _pixels: I) -> Result<(), Self::Error>
|
||||
where
|
||||
I: IntoIterator<Item = Pixel<Self::Color>>,
|
||||
{
|
||||
unreachable!()
|
||||
}
|
||||
|
||||
fn fill_solid(&mut self, area: &Rectangle, color: Self::Color) -> Result<(), Self::Error> {
|
||||
match color {
|
||||
BinaryColor::On => Ok(()),
|
||||
BinaryColor::Off => self.parent.fill_solid(area, self.colors.0),
|
||||
}
|
||||
}
|
||||
|
||||
fn clear(&mut self, _color: Self::Color) -> Result<(), Self::Error> {
|
||||
unreachable!()
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: DrawTarget> DrawTarget for MonoFontDrawTarget<'_, T, Both<T::Color>> {
|
||||
type Color = BinaryColor;
|
||||
type Error = T::Error;
|
||||
|
||||
fn fill_contiguous<I>(&mut self, area: &Rectangle, colors: I) -> Result<(), Self::Error>
|
||||
where
|
||||
I: IntoIterator<Item = Self::Color>,
|
||||
{
|
||||
let foreground_color = self.colors.0;
|
||||
let background_color = self.colors.1;
|
||||
|
||||
self.parent.fill_contiguous(
|
||||
area,
|
||||
colors.into_iter().map(|color| match color {
|
||||
BinaryColor::Off => background_color,
|
||||
BinaryColor::On => foreground_color,
|
||||
}),
|
||||
)
|
||||
}
|
||||
|
||||
fn draw_iter<I>(&mut self, _pixels: I) -> Result<(), Self::Error>
|
||||
where
|
||||
I: IntoIterator<Item = Pixel<Self::Color>>,
|
||||
{
|
||||
unreachable!()
|
||||
}
|
||||
|
||||
fn fill_solid(&mut self, area: &Rectangle, color: Self::Color) -> Result<(), Self::Error> {
|
||||
match color {
|
||||
BinaryColor::On => self.parent.fill_solid(area, self.colors.0),
|
||||
BinaryColor::Off => self.parent.fill_solid(area, self.colors.1),
|
||||
}
|
||||
}
|
||||
|
||||
fn clear(&mut self, _color: Self::Color) -> Result<(), Self::Error> {
|
||||
unreachable!()
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: DrawTarget, C> Dimensions for MonoFontDrawTarget<'_, T, C> {
|
||||
fn bounding_box(&self) -> Rectangle {
|
||||
self.parent.bounding_box()
|
||||
}
|
||||
}
|
||||
|
||||
pub struct Foreground<C>(pub C);
|
||||
pub struct Background<C>(pub C);
|
||||
pub struct Both<C>(pub C, pub C);
|
||||
@@ -0,0 +1,313 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ASCII glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  |
|
||||
//! | `FONT_6X13_BOLD` |  | | `FONT_9X15_BOLD` |  |
|
||||
//! | `FONT_6X13_ITALIC` |  | | `FONT_9X18` |  |
|
||||
//! | `FONT_7X13` |  | | `FONT_9X18_BOLD` |  |
|
||||
//! | `FONT_7X13_BOLD` |  | | `FONT_10X20` |  |
|
||||
|
||||
/// 4x6 pixel monospace font.
|
||||
pub const FONT_4X6: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(include_bytes!("../../../fonts/raw/ascii/font_4x6.raw"), 64),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(include_bytes!("../../../fonts/raw/ascii/font_5x7.raw"), 80),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(include_bytes!("../../../fonts/raw/ascii/font_5x8.raw"), 80),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(include_bytes!("../../../fonts/raw/ascii/font_6x9.raw"), 96),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/ascii/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ASCII,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,325 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ISO_8859_1 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  |
|
||||
//! | `FONT_6X13_BOLD` |  | | `FONT_9X15_BOLD` |  | | `FONT_9X18` |  | | `FONT_9X18_BOLD` |  | | `FONT_10X20` | ,
|
||||
64,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_5x7.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_5x8.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_6x9.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_1/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_1,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,325 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ISO_8859_10 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  | | `FONT_9X15_BOLD` |  | | `FONT_9X18` |  | | `FONT_9X18_BOLD` |  | | `FONT_10X20` | ,
|
||||
64,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_5x7.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_5x8.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_6x9.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_10/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_10,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,325 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ISO_8859_13 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  | | `FONT_9X15_BOLD` |  | | `FONT_9X18` |  | | `FONT_9X18_BOLD` |  | | `FONT_10X20` | ,
|
||||
64,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_5x7.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_5x8.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_6x9.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_13/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_13,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,325 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ISO_8859_14 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  |
|
||||
//! | `FONT_6X13_BOLD` |  | | `FONT_9X15_BOLD` |  | | `FONT_9X18` |  | | `FONT_9X18_BOLD` |  | | `FONT_10X20` | ,
|
||||
64,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_5x7.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_5x8.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_6x9.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_14/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_14,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,325 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ISO_8859_15 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  | | `FONT_9X15_BOLD` |  | | `FONT_9X18` |  | | `FONT_9X18_BOLD` |  | | `FONT_10X20` | ,
|
||||
64,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_5x7.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_5x8.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_6x9.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_15/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_15,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,325 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ISO_8859_16 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  | | `FONT_9X15_BOLD` |  | | `FONT_9X18` |  | | `FONT_9X18_BOLD` |  | | `FONT_10X20` | ,
|
||||
64,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_5x7.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_5x8.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_6x9.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_16/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_16,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,325 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ISO_8859_2 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  | | `FONT_9X15_BOLD` |  | | `FONT_9X18` |  | | `FONT_9X18_BOLD` |  | | `FONT_10X20` | ,
|
||||
64,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_5x7.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_5x8.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_6x9.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_2/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_2,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,325 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ISO_8859_3 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  | | `FONT_9X15_BOLD` |  | | `FONT_9X18` |  | | `FONT_9X18_BOLD` |  | | `FONT_10X20` | ,
|
||||
64,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_5x7.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_5x8.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_6x9.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_3/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_3,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,325 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ISO_8859_4 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  | | `FONT_9X15_BOLD` |  | | `FONT_9X18` |  | | `FONT_9X18_BOLD` |  | | `FONT_10X20` | ,
|
||||
64,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_5x7.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_5x8.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_6x9.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_4/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_4,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,325 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ISO_8859_5 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  | | `FONT_9X15_BOLD` |  | | `FONT_9X18` |  | | `FONT_9X18_BOLD` |  | | `FONT_10X20` | ,
|
||||
64,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_5x7.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_5x8.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_6x9.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_5/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_5,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,325 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ISO_8859_7 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  | | `FONT_9X15_BOLD` |  | | `FONT_9X18` |  | | `FONT_9X18_BOLD` |  | | `FONT_10X20` | ,
|
||||
64,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_5x7.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_5x8.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_6x9.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_7/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_7,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,325 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! ISO_8859_9 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  |
|
||||
//! | `FONT_6X13_BOLD` |  | | `FONT_9X15_BOLD` |  | | `FONT_9X18` |  | | `FONT_9X18_BOLD` |  | | `FONT_10X20` | ,
|
||||
64,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(4, 6),
|
||||
character_spacing: 0,
|
||||
baseline: 4,
|
||||
underline: crate::mono_font::DecorationDimensions::new(4 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(6 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x7 pixel monospace font.
|
||||
pub const FONT_5X7: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_5x7.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(5, 7),
|
||||
character_spacing: 0,
|
||||
baseline: 5,
|
||||
underline: crate::mono_font::DecorationDimensions::new(5 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(7 / 2, 1),
|
||||
};
|
||||
|
||||
/// 5x8 pixel monospace font.
|
||||
pub const FONT_5X8: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_5x8.raw"),
|
||||
80,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(5, 8),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(8 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x9 pixel monospace font.
|
||||
pub const FONT_6X9: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_6x9.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(6, 9),
|
||||
character_spacing: 0,
|
||||
baseline: 6,
|
||||
underline: crate::mono_font::DecorationDimensions::new(6 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(9 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x10 pixel monospace font.
|
||||
pub const FONT_6X10: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_6x10.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(6, 10),
|
||||
character_spacing: 0,
|
||||
baseline: 7,
|
||||
underline: crate::mono_font::DecorationDimensions::new(7 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(10 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x12 pixel monospace font.
|
||||
pub const FONT_6X12: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_6x12.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(6, 12),
|
||||
character_spacing: 0,
|
||||
baseline: 9,
|
||||
underline: crate::mono_font::DecorationDimensions::new(9 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(12 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_6x13_bold.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_6x13_italic.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_7x13.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_7x13_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x13 pixel monospace font.
|
||||
pub const FONT_7X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_7x13_italic.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(7, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_7x14_bold.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_8x13_bold.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13_ITALIC: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_8x13_italic.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_9x15_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18_BOLD: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_9x18_bold.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/iso_8859_9/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::ISO_8859_9,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,96 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
//! JIS_X0201 glyph subset.
|
||||
//!
|
||||
//! | Type | Screenshot |
|
||||
//! |------|------------|
|
||||
//! | `FONT_6X13` |  |
|
||||
//! | `FONT_7X14` |  |
|
||||
//! | `FONT_8X13` |  |
|
||||
//! | `FONT_9X15` |  |
|
||||
//! | `FONT_9X18` |  |
|
||||
//! | `FONT_10X20` |  |
|
||||
|
||||
/// 6x13 pixel monospace font.
|
||||
pub const FONT_6X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/jis_x0201/font_6x13.raw"),
|
||||
96,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::JIS_X0201,
|
||||
character_size: crate::geometry::Size::new(6, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 7x14 pixel monospace font.
|
||||
pub const FONT_7X14: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/jis_x0201/font_7x14.raw"),
|
||||
112,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::JIS_X0201,
|
||||
character_size: crate::geometry::Size::new(7, 14),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(14 / 2, 1),
|
||||
};
|
||||
|
||||
/// 8x13 pixel monospace font.
|
||||
pub const FONT_8X13: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/jis_x0201/font_8x13.raw"),
|
||||
128,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::JIS_X0201,
|
||||
character_size: crate::geometry::Size::new(8, 13),
|
||||
character_spacing: 0,
|
||||
baseline: 10,
|
||||
underline: crate::mono_font::DecorationDimensions::new(10 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(13 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x15 pixel monospace font.
|
||||
pub const FONT_9X15: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/jis_x0201/font_9x15.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::JIS_X0201,
|
||||
character_size: crate::geometry::Size::new(9, 15),
|
||||
character_spacing: 0,
|
||||
baseline: 11,
|
||||
underline: crate::mono_font::DecorationDimensions::new(11 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(15 / 2, 1),
|
||||
};
|
||||
|
||||
/// 9x18 pixel monospace font.
|
||||
pub const FONT_9X18: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/jis_x0201/font_9x18.raw"),
|
||||
144,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::JIS_X0201,
|
||||
character_size: crate::geometry::Size::new(9, 18),
|
||||
character_spacing: 0,
|
||||
baseline: 13,
|
||||
underline: crate::mono_font::DecorationDimensions::new(13 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(18 / 2, 1),
|
||||
};
|
||||
|
||||
/// 10x20 pixel monospace font.
|
||||
pub const FONT_10X20: crate::mono_font::MonoFont = crate::mono_font::MonoFont {
|
||||
image: crate::image::ImageRaw::new(
|
||||
include_bytes!("../../../fonts/raw/jis_x0201/font_10x20.raw"),
|
||||
160,
|
||||
),
|
||||
glyph_mapping: &crate::mono_font::mapping::JIS_X0201,
|
||||
character_size: crate::geometry::Size::new(10, 20),
|
||||
character_spacing: 0,
|
||||
baseline: 15,
|
||||
underline: crate::mono_font::DecorationDimensions::new(15 + 2, 1),
|
||||
strikethrough: crate::mono_font::DecorationDimensions::new(20 / 2, 1),
|
||||
};
|
||||
@@ -0,0 +1,16 @@
|
||||
// GENERATED CODE DO NOT MODIFY!
|
||||
// Any manual changes to this file will be overwritten!
|
||||
pub mod ascii;
|
||||
pub mod iso_8859_1;
|
||||
pub mod iso_8859_10;
|
||||
pub mod iso_8859_13;
|
||||
pub mod iso_8859_14;
|
||||
pub mod iso_8859_15;
|
||||
pub mod iso_8859_16;
|
||||
pub mod iso_8859_2;
|
||||
pub mod iso_8859_3;
|
||||
pub mod iso_8859_4;
|
||||
pub mod iso_8859_5;
|
||||
pub mod iso_8859_7;
|
||||
pub mod iso_8859_9;
|
||||
pub mod jis_x0201;
|
||||
+373
@@ -0,0 +1,373 @@
|
||||
//! Glyph mapping.
|
||||
//!
|
||||
//! A glyph mapping defines the position of characters in a [`MonoFont`] image. This module provides
|
||||
//! predefined mappings for common glyph subsets, but custom mappings are also supported.
|
||||
//!
|
||||
//! # Custom mappings
|
||||
//!
|
||||
//! Custom mappings can be defined in three different ways:
|
||||
//! * The [`StrGlyphMapping`] type can be used to specify a character mapping by encoding the
|
||||
//! mapping as a string.
|
||||
//! * The [`GlyphMapping`] trait is implemented for all functions `Fn(char) -> usize`.
|
||||
//! * The [`GlyphMapping`] trait can be implemented by a custom type.
|
||||
//!
|
||||
//! # `StrGlyphMapping` encoding
|
||||
//!
|
||||
//! Strings without a `\0` character can be used to directly map a character to its position in
|
||||
//! the mapping string:
|
||||
//!
|
||||
//! ```
|
||||
//! use embedded_graphics::mono_font::mapping::{GlyphMapping, StrGlyphMapping};
|
||||
//!
|
||||
//! let mapping = StrGlyphMapping::new("abcdef1234", 0);
|
||||
//! assert_eq!(mapping.index('a'), 0);
|
||||
//! assert_eq!(mapping.index('b'), 1);
|
||||
//! assert_eq!(mapping.index('1'), 6);
|
||||
//! assert_eq!(mapping.index('2'), 7);
|
||||
//! ```
|
||||
//!
|
||||
//! This direct mapping is inefficient for mappings that map consecutive ranges of characters to
|
||||
//! consecutive index ranges. To define a range of characters a `\0` character followed by the
|
||||
//! start and end characters of the inclusive range can be used. This way the mapping in the previous
|
||||
//! example can be abbreviated to:
|
||||
//!
|
||||
//! ```
|
||||
//! use embedded_graphics::mono_font::mapping::{GlyphMapping, StrGlyphMapping};
|
||||
//!
|
||||
//! let mapping = StrGlyphMapping::new("\0af\014", 0);
|
||||
//! assert_eq!(mapping.index('a'), 0);
|
||||
//! assert_eq!(mapping.index('b'), 1);
|
||||
//! assert_eq!(mapping.index('1'), 6);
|
||||
//! assert_eq!(mapping.index('2'), 7);
|
||||
//! ```
|
||||
//!
|
||||
//! [`MonoFont`]: super::MonoFont
|
||||
|
||||
use core::ops::RangeInclusive;
|
||||
|
||||
/// Mapping from characters to glyph indices.
|
||||
pub trait GlyphMapping: Sync {
|
||||
/// Maps a character to a glyph index.
|
||||
///
|
||||
/// If `c` isn't included in the font the index of a suitable replacement glyph is returned.
|
||||
fn index(&self, c: char) -> usize;
|
||||
}
|
||||
|
||||
impl<F> GlyphMapping for F
|
||||
where
|
||||
F: Sync + Fn(char) -> usize,
|
||||
{
|
||||
fn index(&self, c: char) -> usize {
|
||||
self(c)
|
||||
}
|
||||
}
|
||||
|
||||
/// Glyph mapping stored as a UTF-8 string.
|
||||
///
|
||||
/// See the [module-level documentation] for more details.
|
||||
///
|
||||
/// [module-level documentation]: self
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
pub struct StrGlyphMapping<'a> {
|
||||
data: &'a str,
|
||||
replacement_index: usize,
|
||||
}
|
||||
|
||||
impl<'a> StrGlyphMapping<'a> {
|
||||
/// Creates a new glyph mapping.
|
||||
pub const fn new(data: &'a str, replacement_index: usize) -> Self {
|
||||
Self {
|
||||
data,
|
||||
replacement_index,
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns an iterator over the character ranges.
|
||||
pub fn ranges(&self) -> impl Iterator<Item = (usize, RangeInclusive<char>)> + '_ {
|
||||
let mut chars = self.data.chars();
|
||||
let mut index = 0;
|
||||
|
||||
core::iter::from_fn(move || {
|
||||
let start_index = index;
|
||||
|
||||
let range = match chars.next()? {
|
||||
'\0' => {
|
||||
let start = chars.next()?;
|
||||
let end = chars.next()?;
|
||||
|
||||
index += end as usize - start as usize + 1;
|
||||
|
||||
start..=end
|
||||
}
|
||||
c => {
|
||||
index += 1;
|
||||
|
||||
c..=c
|
||||
}
|
||||
};
|
||||
|
||||
Some((start_index, range))
|
||||
})
|
||||
}
|
||||
|
||||
/// Returns an iterator over the characters in this mapping.
|
||||
pub fn chars(&self) -> impl Iterator<Item = char> + '_ {
|
||||
let mut chars = self.data.chars();
|
||||
|
||||
core::iter::from_fn(move || {
|
||||
let range = match chars.next()? {
|
||||
'\0' => {
|
||||
let start = chars.next()?;
|
||||
let end = chars.next()?;
|
||||
|
||||
start..=end
|
||||
}
|
||||
c => c..=c,
|
||||
};
|
||||
|
||||
Some(range)
|
||||
})
|
||||
.flatten()
|
||||
}
|
||||
|
||||
/// Returns if the mapping contains the given char.
|
||||
pub fn contains(&self, c: char) -> bool {
|
||||
self.chars().any(|v| v == c)
|
||||
}
|
||||
}
|
||||
|
||||
impl GlyphMapping for StrGlyphMapping<'_> {
|
||||
fn index(&self, c: char) -> usize {
|
||||
// PERF: use ranges instead of chars iter
|
||||
self.chars()
|
||||
.enumerate()
|
||||
.find(|(_, v)| c == *v)
|
||||
.map(|(index, _)| index)
|
||||
.unwrap_or(self.replacement_index)
|
||||
}
|
||||
}
|
||||
|
||||
macro_rules! impl_mapping {
|
||||
($( $(#[$meta:meta])* ($enum_variant:ident, $constant:ident, $mapping:expr), )*) => {
|
||||
/// Mapping.
|
||||
///
|
||||
/// This enum lists all mappings that are included in embedded-graphics. It is used
|
||||
/// to automatically generate font data for all mappings and isn't normally used in
|
||||
/// applications.
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
|
||||
pub enum Mapping {
|
||||
$(
|
||||
$(#[$meta])*
|
||||
$enum_variant,
|
||||
)*
|
||||
}
|
||||
|
||||
impl Mapping {
|
||||
/// Returns an iterator over all mappings.
|
||||
pub fn iter() -> impl Iterator<Item = Self> {
|
||||
const ALL: &[Mapping] = &[$(Mapping::$enum_variant),*];
|
||||
|
||||
ALL.iter().copied()
|
||||
}
|
||||
|
||||
/// Returns the MIME identifier for this mapping.
|
||||
pub const fn mime(self) -> &'static str {
|
||||
match self {
|
||||
$(Mapping::$enum_variant => stringify!($constant)),*
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns a glyph mapping for this mapping.
|
||||
pub const fn glyph_mapping(self) -> &'static StrGlyphMapping<'static> {
|
||||
match self {
|
||||
$(Self::$enum_variant => &$constant),*
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(
|
||||
$(#[$meta])*
|
||||
pub const $constant: StrGlyphMapping = StrGlyphMapping::new($mapping, '?' as usize - ' ' as usize);
|
||||
)*
|
||||
};
|
||||
}
|
||||
|
||||
// TODO: Add Iso8859_6 (Latin/Arabic), Iso8859_8 (Latin/Hebrew) and Iso8859_11 (Latin/Thai) when we support RTL and combining characters.
|
||||
impl_mapping!(
|
||||
/// ASCII.
|
||||
(Ascii, ASCII, "\0\u{20}\u{7f}"),
|
||||
|
||||
/// ISO/IEC 8859 Part 1: Latin-1, Western European.
|
||||
(Iso8859_1, ISO_8859_1, "\0\u{20}\u{7f}\0\u{a0}\u{ff}"),
|
||||
|
||||
/// ISO/IEC 8859 Part 2: Latin-2, Central European.
|
||||
(Iso8859_2, ISO_8859_2, "\0\u{20}\u{7f}\u{a0}\u{104}\u{2d8}\u{141}\u{a4}\u{13d}\u{15a}\u{a7}\u{a8}\u{160}\u{15e}\u{164}\u{179}\u{ad}\u{17d}\u{17b}\u{b0}\u{105}\u{2db}\u{142}\u{b4}\u{13e}\u{15b}\u{2c7}\u{b8}\u{161}\u{15f}\u{165}\u{17a}\u{2dd}\u{17e}\u{17c}\u{154}\u{c1}\u{c2}\u{102}\u{c4}\u{139}\u{106}\u{c7}\u{10c}\u{c9}\u{118}\u{cb}\u{11a}\u{cd}\u{ce}\u{10e}\u{110}\u{143}\u{147}\u{d3}\u{d4}\u{150}\u{d6}\u{d7}\u{158}\u{16e}\u{da}\u{170}\u{dc}\u{dd}\u{162}\u{df}\u{155}\u{e1}\u{e2}\u{103}\u{e4}\u{13a}\u{107}\u{e7}\u{10d}\u{e9}\u{119}\u{eb}\u{11b}\u{ed}\u{ee}\u{10f}\u{111}\u{144}\u{148}\u{f3}\u{f4}\u{151}\u{f6}\u{f7}\u{159}\u{16f}\u{fa}\u{171}\u{fc}\u{fd}\u{163}\u{2d9}"),
|
||||
|
||||
/// ISO/IEC 8859 Part 3: Latin-3, South European.
|
||||
(Iso8859_3, ISO_8859_3, "\0\u{20}\u{7f}\u{a0}\u{126}\u{2d8}\0\u{a3}\u{a5}\u{124}\u{a7}\u{a8}\u{130}\u{15e}\u{11e}\u{134}\u{ad}\u{ae}\u{17b}\u{b0}\u{127}\0\u{b2}\u{b5}\u{125}\u{b7}\u{b8}\u{131}\u{15f}\u{11f}\u{135}\u{bd}\u{be}\u{17c}\0\u{c0}\u{c4}\u{10a}\u{108}\0\u{c7}\u{d4}\u{120}\u{d6}\u{d7}\u{11c}\0\u{d9}\u{dc}\u{16c}\u{15c}\0\u{df}\u{e4}\u{10b}\u{109}\0\u{e7}\u{f4}\u{121}\u{f6}\u{f7}\u{11d}\0\u{f9}\u{fc}\u{16d}\u{15d}\u{2d9}"),
|
||||
|
||||
/// ISO/IEC 8859 Part 4: Latin-4, North European.
|
||||
(Iso8859_4, ISO_8859_4, "\0\u{20}\u{7f}\u{a0}\u{104}\u{138}\u{156}\u{a4}\u{128}\u{13b}\u{a7}\u{a8}\u{160}\u{112}\u{122}\u{166}\u{ad}\u{17d}\u{af}\u{b0}\u{105}\u{2db}\u{157}\u{b4}\u{129}\u{13c}\u{2c7}\u{b8}\u{161}\u{113}\u{123}\u{167}\u{14a}\u{17e}\u{14b}\u{100}\0\u{c1}\u{c6}\u{12e}\u{10c}\u{c9}\u{118}\u{cb}\u{116}\u{cd}\u{ce}\u{12a}\u{110}\u{145}\u{14c}\u{136}\0\u{d4}\u{d8}\u{172}\0\u{da}\u{dc}\u{168}\u{16a}\u{df}\u{101}\0\u{e1}\u{e6}\u{12f}\u{10d}\u{e9}\u{119}\u{eb}\u{117}\u{ed}\u{ee}\u{12b}\u{111}\u{146}\u{14d}\u{137}\0\u{f4}\u{f8}\u{173}\0\u{fa}\u{fc}\u{169}\u{16b}\u{2d9}"),
|
||||
|
||||
/// ISO/IEC 8859 Part 5: Latin/Cyrillic.
|
||||
(Iso8859_5, ISO_8859_5, "\0\u{20}\u{7f}\u{a0}\0\u{401}\u{40c}\u{ad}\0\u{40e}\u{44f}\u{2116}\0\u{451}\u{45c}\u{a7}\u{45e}\u{45f}"),
|
||||
|
||||
/// ISO/IEC 8859 Part 7: Latin/Greek.
|
||||
(Iso8859_7, ISO_8859_7, "\0\u{20}\u{7f}\u{a0}\u{2018}\u{2019}\u{a3}\u{20ac}\u{20af}\0\u{a6}\u{a9}\u{37a}\0\u{ab}\u{ae}\u{2015}\0\u{b0}\u{b3}\0\u{384}\u{386}\u{b7}\0\u{388}\u{38a}\u{bb}\u{38c}\u{bd}\0\u{38e}\u{3cf}"),
|
||||
|
||||
/// ISO/IEC 8859 Part 9: Latin-5, Turkish.
|
||||
(Iso8859_9, ISO_8859_9, "\0\u{20}\u{7f}\0\u{a0}\u{cf}\u{11e}\0\u{d1}\u{dc}\u{130}\u{15e}\0\u{df}\u{ef}\u{11f}\0\u{f1}\u{fc}\u{131}\u{15f}\u{ff}"),
|
||||
|
||||
/// ISO/IEC 8859 Part 10: Latin-6, Nordic.
|
||||
(Iso8859_10, ISO_8859_10, "\0\u{20}\u{7f}\u{a0}\u{104}\u{112}\u{122}\u{12a}\u{128}\u{136}\u{a7}\u{13b}\u{110}\u{160}\u{166}\u{17d}\u{ad}\u{16a}\u{14a}\u{b0}\u{105}\u{113}\u{123}\u{12b}\u{129}\u{137}\u{b7}\u{13c}\u{111}\u{161}\u{167}\u{17e}\u{2015}\u{16b}\u{14b}\u{100}\0\u{c1}\u{c6}\u{12e}\u{10c}\u{c9}\u{118}\u{cb}\u{116}\0\u{cd}\u{d0}\u{145}\u{14c}\0\u{d3}\u{d6}\u{168}\u{d8}\u{172}\0\u{da}\u{df}\u{101}\0\u{e1}\u{e6}\u{12f}\u{10d}\u{e9}\u{119}\u{eb}\u{117}\0\u{ed}\u{f0}\u{146}\u{14d}\0\u{f3}\u{f6}\u{169}\u{f8}\u{173}\0\u{fa}\u{fe}\u{138}"),
|
||||
|
||||
/// ISO/IEC 8859 Part 13: Latin-7, Baltic Rim.
|
||||
(Iso8859_13, ISO_8859_13, "\0\u{20}\u{7f}\u{a0}\u{201d}\0\u{a2}\u{a4}\u{201e}\u{a6}\u{a7}\u{d8}\u{a9}\u{156}\0\u{ab}\u{ae}\u{c6}\0\u{b0}\u{b3}\u{201c}\0\u{b5}\u{b7}\u{f8}\u{b9}\u{157}\0\u{bb}\u{be}\u{e6}\u{104}\u{12e}\u{100}\u{106}\u{c4}\u{c5}\u{118}\u{112}\u{10c}\u{c9}\u{179}\u{116}\u{122}\u{136}\u{12a}\u{13b}\u{160}\u{143}\u{145}\u{d3}\u{14c}\0\u{d5}\u{d7}\u{172}\u{141}\u{15a}\u{16a}\u{dc}\u{17b}\u{17d}\u{df}\u{105}\u{12f}\u{101}\u{107}\u{e4}\u{e5}\u{119}\u{113}\u{10d}\u{e9}\u{17a}\u{117}\u{123}\u{137}\u{12b}\u{13c}\u{161}\u{144}\u{146}\u{f3}\u{14d}\0\u{f5}\u{f7}\u{173}\u{142}\u{15b}\u{16b}\u{fc}\u{17c}\u{17e}\u{2019}"),
|
||||
|
||||
/// ISO/IEC 8859 Part 14: Latin-8, Celtic.
|
||||
(Iso8859_14, ISO_8859_14, "\0\u{20}\u{7f}\u{a0}\u{1e02}\u{1e03}\u{a3}\u{10a}\u{10b}\u{1e0a}\u{a7}\u{1e80}\u{a9}\u{1e82}\u{1e0b}\u{1ef2}\u{ad}\u{ae}\u{178}\u{1e1e}\u{1e1f}\u{120}\u{121}\u{1e40}\u{1e41}\u{b6}\u{1e56}\u{1e81}\u{1e57}\u{1e83}\u{1e60}\u{1ef3}\u{1e84}\u{1e85}\u{1e61}\0\u{c0}\u{cf}\u{174}\0\u{d1}\u{d6}\u{1e6a}\0\u{d8}\u{dd}\u{176}\0\u{df}\u{ef}\u{175}\0\u{f1}\u{f6}\u{1e6b}\0\u{f8}\u{fd}\u{177}\u{ff}"),
|
||||
|
||||
/// ISO/IEC 8859 Part 15: Latin-9 (revised Latin-1).
|
||||
(Iso8859_15, ISO_8859_15, "\0\u{20}\u{7f}\0\u{a0}\u{a3}\u{20ac}\u{a5}\u{160}\u{a7}\u{161}\0\u{a9}\u{b3}\u{17d}\0\u{b5}\u{b7}\u{17e}\0\u{b9}\u{bb}\u{152}\u{153}\u{178}\0\u{bf}\u{ff}"),
|
||||
|
||||
/// ISO/IEC 8859 Part 16: Latin-10: South-East European.
|
||||
(Iso8859_16, ISO_8859_16, "\0\u{20}\u{7f}\u{a0}\u{104}\u{105}\u{141}\u{20ac}\u{201e}\u{160}\u{a7}\u{161}\u{a9}\u{218}\u{ab}\u{179}\u{ad}\u{17a}\u{17b}\u{b0}\u{b1}\u{10c}\u{142}\u{17d}\u{201d}\u{b6}\u{b7}\u{17e}\u{10d}\u{219}\u{bb}\u{152}\u{153}\u{178}\u{17c}\0\u{c0}\u{c2}\u{102}\u{c4}\u{106}\0\u{c6}\u{cf}\u{110}\u{143}\0\u{d2}\u{d4}\u{150}\u{d6}\u{15a}\u{170}\0\u{d9}\u{dc}\u{118}\u{21a}\0\u{df}\u{e2}\u{103}\u{e4}\u{107}\0\u{e6}\u{ef}\u{111}\u{144}\0\u{f2}\u{f4}\u{151}\u{f6}\u{15b}\u{171}\0\u{f9}\u{fc}\u{119}\u{21b}\u{ff}"),
|
||||
|
||||
/// JIS X 0201: Japanese katakana (halfwidth).
|
||||
(JisX0201, JIS_X0201, "\0\u{20}\u{7f}\0\u{ff60}\u{ff9f}"),
|
||||
);
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn empty() {
|
||||
let mapping = StrGlyphMapping::new("", 0);
|
||||
|
||||
let mut iter = mapping.ranges();
|
||||
assert_eq!(iter.next(), None);
|
||||
|
||||
let mut iter = mapping.chars();
|
||||
assert_eq!(iter.next(), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn one_char() {
|
||||
let mapping = StrGlyphMapping::new("a", 0);
|
||||
|
||||
let mut iter = mapping.ranges();
|
||||
assert_eq!(iter.next(), Some((0, 'a'..='a')));
|
||||
assert_eq!(iter.next(), None);
|
||||
|
||||
let mut iter = mapping.chars();
|
||||
assert_eq!(iter.next(), Some('a'));
|
||||
assert_eq!(iter.next(), None);
|
||||
|
||||
assert_eq!(mapping.index('a'), 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn three_chars() {
|
||||
let mapping = StrGlyphMapping::new("abc", 1);
|
||||
|
||||
let mut iter = mapping.ranges();
|
||||
assert_eq!(iter.next(), Some((0, 'a'..='a')));
|
||||
assert_eq!(iter.next(), Some((1, 'b'..='b')));
|
||||
assert_eq!(iter.next(), Some((2, 'c'..='c')));
|
||||
assert_eq!(iter.next(), None);
|
||||
|
||||
let mut iter = mapping.chars();
|
||||
assert_eq!(iter.next(), Some('a'));
|
||||
assert_eq!(iter.next(), Some('b'));
|
||||
assert_eq!(iter.next(), Some('c'));
|
||||
assert_eq!(iter.next(), None);
|
||||
|
||||
assert_eq!(mapping.index('a'), 0);
|
||||
assert_eq!(mapping.index('b'), 1);
|
||||
assert_eq!(mapping.index('c'), 2);
|
||||
assert_eq!(mapping.index('$'), 1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn one_range() {
|
||||
let mapping = StrGlyphMapping::new("\x00ac", 2);
|
||||
|
||||
let mut iter = mapping.ranges();
|
||||
assert_eq!(iter.next(), Some((0, 'a'..='c')));
|
||||
assert_eq!(iter.next(), None);
|
||||
|
||||
let mut iter = mapping.chars();
|
||||
assert_eq!(iter.next(), Some('a'));
|
||||
assert_eq!(iter.next(), Some('b'));
|
||||
assert_eq!(iter.next(), Some('c'));
|
||||
assert_eq!(iter.next(), None);
|
||||
|
||||
assert_eq!(mapping.index('a'), 0);
|
||||
assert_eq!(mapping.index('b'), 1);
|
||||
assert_eq!(mapping.index('c'), 2);
|
||||
assert_eq!(mapping.index('$'), 2);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn incomplete_range() {
|
||||
let mapping = StrGlyphMapping::new("\x00a", 0);
|
||||
|
||||
let mut iter = mapping.ranges();
|
||||
assert_eq!(iter.next(), None);
|
||||
|
||||
let mut iter = mapping.chars();
|
||||
assert_eq!(iter.next(), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn mixed_ranges_and_chars() {
|
||||
let mapping = StrGlyphMapping::new("a\x00bde", 3);
|
||||
|
||||
let mut iter = mapping.ranges();
|
||||
assert_eq!(iter.next(), Some((0, 'a'..='a')));
|
||||
assert_eq!(iter.next(), Some((1, 'b'..='d')));
|
||||
assert_eq!(iter.next(), Some((4, 'e'..='e')));
|
||||
assert_eq!(iter.next(), None);
|
||||
|
||||
let mut iter = mapping.chars();
|
||||
assert_eq!(iter.next(), Some('a'));
|
||||
assert_eq!(iter.next(), Some('b'));
|
||||
assert_eq!(iter.next(), Some('c'));
|
||||
assert_eq!(iter.next(), Some('d'));
|
||||
assert_eq!(iter.next(), Some('e'));
|
||||
assert_eq!(iter.next(), None);
|
||||
|
||||
assert_eq!(mapping.index('a'), 0);
|
||||
assert_eq!(mapping.index('b'), 1);
|
||||
assert_eq!(mapping.index('c'), 2);
|
||||
assert_eq!(mapping.index('d'), 3);
|
||||
assert_eq!(mapping.index('e'), 4);
|
||||
assert_eq!(mapping.index('$'), 3);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn dyn_str_glyph_mapping() {
|
||||
let mapping = StrGlyphMapping::new("ab", 0);
|
||||
let dyn_mapping: &dyn GlyphMapping = &mapping;
|
||||
|
||||
assert_eq!(dyn_mapping.index('b'), 1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn dyn_fn_glyph_mapping() {
|
||||
fn map(c: char) -> usize {
|
||||
match c {
|
||||
'a' => 0,
|
||||
'b' => 1,
|
||||
_ => 2,
|
||||
}
|
||||
}
|
||||
|
||||
let dyn_mapping: &dyn GlyphMapping = ↦
|
||||
|
||||
assert_eq!(dyn_mapping.index('a'), 0);
|
||||
assert_eq!(dyn_mapping.index('b'), 1);
|
||||
assert_eq!(dyn_mapping.index('?'), 2);
|
||||
}
|
||||
}
|
||||
+472
@@ -0,0 +1,472 @@
|
||||
//! Monospaced bitmap fonts.
|
||||
//!
|
||||
//! This module contains support for drawing monospaced bitmap fonts and provides
|
||||
//! several [built-in fonts].
|
||||
//!
|
||||
//! Additional custom fonts can be added by the application or other crates. This
|
||||
//! is demonstrated in the `text-custom-font` example in the [examples repository].
|
||||
//!
|
||||
//! # Examples
|
||||
//!
|
||||
//! The [`text` module] contains examples how these fonts can be used in an application.
|
||||
//!
|
||||
//! # Built-in fonts
|
||||
//!
|
||||
//! Each built-in font is provided in different glyph subsets. The ASCII variant is the smallest
|
||||
//! subset which saves memory in embedded applications, but only covers all characters of the English
|
||||
//! language. The ISO 8859 subsets support a wide range of languages, see
|
||||
//! [Wikipedia](https://en.wikipedia.org/wiki/ISO/IEC_8859#The_parts_of_ISO/IEC_8859) for a list of
|
||||
//! languages.
|
||||
//!
|
||||
//! The table below shows the ASCII variant of the built-in fonts. See the [subset modules](#modules) for
|
||||
//! an overview of the complete character set included in the other variants.
|
||||
//!
|
||||
// WARNING: The table between START-FONT-TABLE and END-FONT-TABLE is generated.
|
||||
// Use `just convert-fonts` to update the table.
|
||||
//START-FONT-TABLE-ASCII
|
||||
//! | Type | Screenshot | | Type | Screenshot |
|
||||
//! |------|------------|-|------|------------|
|
||||
//! | `FONT_4X6` |  | | `FONT_7X13_ITALIC` |  |
|
||||
//! | `FONT_5X7` |  | | `FONT_7X14` |  |
|
||||
//! | `FONT_5X8` |  | | `FONT_7X14_BOLD` |  |
|
||||
//! | `FONT_6X9` |  | | `FONT_8X13` |  |
|
||||
//! | `FONT_6X10` |  | | `FONT_8X13_BOLD` |  |
|
||||
//! | `FONT_6X12` |  | | `FONT_8X13_ITALIC` |  |
|
||||
//! | `FONT_6X13` |  | | `FONT_9X15` |  |
|
||||
//! | `FONT_6X13_BOLD` |  | | `FONT_9X15_BOLD` |  |
|
||||
//! | `FONT_6X13_ITALIC` |  | | `FONT_9X18` |  |
|
||||
//! | `FONT_7X13` |  | | `FONT_9X18_BOLD` |  |
|
||||
//! | `FONT_7X13_BOLD` |  | | `FONT_10X20` |  |
|
||||
//END-FONT-TABLE
|
||||
//!
|
||||
//! [built-in fonts]: #built-in-fonts
|
||||
//! [`text` module]: super::text#examples
|
||||
//! [examples repository]: https://github.com/embedded-graphics/examples
|
||||
|
||||
mod draw_target;
|
||||
mod generated;
|
||||
pub mod mapping;
|
||||
mod mono_text_style;
|
||||
|
||||
use core::fmt;
|
||||
|
||||
pub use generated::*;
|
||||
pub use mono_text_style::{MonoTextStyle, MonoTextStyleBuilder};
|
||||
|
||||
use crate::{
|
||||
geometry::{OriginDimensions, Point, Size},
|
||||
image::{ImageRaw, SubImage},
|
||||
mono_font::mapping::GlyphMapping,
|
||||
pixelcolor::BinaryColor,
|
||||
primitives::Rectangle,
|
||||
};
|
||||
|
||||
/// Monospaced bitmap font.
|
||||
///
|
||||
/// See the [module documentation] for more information about using fonts.
|
||||
///
|
||||
/// [module documentation]: self
|
||||
#[derive(Clone, Copy)]
|
||||
pub struct MonoFont<'a> {
|
||||
/// Raw image data containing the font.
|
||||
pub image: ImageRaw<'a, BinaryColor>,
|
||||
|
||||
/// Size of a single character in pixel.
|
||||
pub character_size: Size,
|
||||
|
||||
/// Spacing between characters.
|
||||
///
|
||||
/// The spacing defines how many empty pixels are added horizontally between adjacent characters
|
||||
/// on a single line of text.
|
||||
pub character_spacing: u32,
|
||||
|
||||
/// The baseline.
|
||||
///
|
||||
/// Offset from the top of the glyph bounding box to the baseline.
|
||||
pub baseline: u32,
|
||||
|
||||
/// Strikethrough decoration dimensions.
|
||||
pub strikethrough: DecorationDimensions,
|
||||
|
||||
/// Underline decoration dimensions.
|
||||
pub underline: DecorationDimensions,
|
||||
|
||||
/// Glyph mapping.
|
||||
pub glyph_mapping: &'a dyn GlyphMapping,
|
||||
}
|
||||
|
||||
impl MonoFont<'_> {
|
||||
/// Returns a subimage for a glyph.
|
||||
pub(crate) fn glyph(&self, c: char) -> SubImage<'_, ImageRaw<BinaryColor>> {
|
||||
if self.character_size.width == 0 || self.image.size().width < self.character_size.width {
|
||||
return SubImage::new_unchecked(&self.image, Rectangle::zero());
|
||||
}
|
||||
|
||||
let glyphs_per_row = self.image.size().width / self.character_size.width;
|
||||
|
||||
// Char _code_ offset from first char, most often a space
|
||||
// E.g. first char = ' ' (32), target char = '!' (33), offset = 33 - 32 = 1
|
||||
let glyph_index = self.glyph_mapping.index(c) as u32;
|
||||
let row = glyph_index / glyphs_per_row;
|
||||
|
||||
// Top left corner of character, in pixels
|
||||
let char_x = (glyph_index - (row * glyphs_per_row)) * self.character_size.width;
|
||||
let char_y = row * self.character_size.height;
|
||||
|
||||
SubImage::new_unchecked(
|
||||
&self.image,
|
||||
Rectangle::new(
|
||||
Point::new(char_x as i32, char_y as i32),
|
||||
self.character_size,
|
||||
),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for MonoFont<'_> {
|
||||
#[allow(trivial_casts)]
|
||||
fn eq(&self, other: &Self) -> bool {
|
||||
self.image == other.image
|
||||
&& self.character_size == other.character_size
|
||||
&& self.character_spacing == other.character_spacing
|
||||
&& self.baseline == other.baseline
|
||||
&& self.strikethrough == other.strikethrough
|
||||
&& self.underline == other.underline
|
||||
&& core::ptr::eq(
|
||||
self.glyph_mapping as *const dyn GlyphMapping as *const u8,
|
||||
other.glyph_mapping as *const dyn GlyphMapping as *const u8,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Debug for MonoFont<'_> {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
f.debug_struct("MonoFont")
|
||||
.field("image", &self.image)
|
||||
.field("character_size", &self.character_size)
|
||||
.field("character_spacing", &self.character_spacing)
|
||||
.field("baseline", &self.baseline)
|
||||
.field("strikethrough", &self.strikethrough)
|
||||
.field("underline", &self.underline)
|
||||
.field("glyph_mapping", &"?")
|
||||
.finish_non_exhaustive()
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "defmt")]
|
||||
impl ::defmt::Format for MonoFont<'_> {
|
||||
fn format(&self, f: ::defmt::Formatter) {
|
||||
::defmt::write!(
|
||||
f,
|
||||
"MonoFont {{ image: {}, character_size: {}, character_spacing: {}, baseline: {}, strikethrough: {}, underline: {}, .. }}",
|
||||
&self.image,
|
||||
&self.character_size,
|
||||
&self.character_spacing,
|
||||
&self.baseline,
|
||||
&self.strikethrough,
|
||||
&self.underline,
|
||||
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
/// Decoration dimensions.
|
||||
///
|
||||
/// `DecorationDimensions` is used to specify the position and height of underline and strikethrough
|
||||
/// decorations in [`MonoFont`]s.
|
||||
///
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)]
|
||||
#[cfg_attr(feature = "defmt", derive(::defmt::Format))]
|
||||
pub struct DecorationDimensions {
|
||||
/// Offset from the top of the character to the top of the decoration.
|
||||
pub offset: u32,
|
||||
/// Height of the decoration.
|
||||
pub height: u32,
|
||||
}
|
||||
|
||||
impl DecorationDimensions {
|
||||
/// Creates new decoration dimensions.
|
||||
pub const fn new(offset: u32, height: u32) -> Self {
|
||||
Self { offset, height }
|
||||
}
|
||||
|
||||
/// Creates a new default strikethrough decoration for the given glyph height.
|
||||
pub const fn default_strikethrough(glyph_height: u32) -> Self {
|
||||
Self {
|
||||
offset: glyph_height.saturating_sub(1) / 2,
|
||||
height: 1,
|
||||
}
|
||||
}
|
||||
|
||||
/// Creates a new default underline decoration for the given glyph height.
|
||||
pub const fn default_underline(glyph_height: u32) -> Self {
|
||||
Self {
|
||||
offset: glyph_height + 1,
|
||||
height: 1,
|
||||
}
|
||||
}
|
||||
|
||||
fn to_rectangle(&self, position: Point, width: u32) -> Rectangle {
|
||||
let top_left = position + Size::new(0, self.offset);
|
||||
let size = Size::new(width, self.height);
|
||||
|
||||
Rectangle::new(top_left, size)
|
||||
}
|
||||
}
|
||||
|
||||
const NULL_FONT: MonoFont = MonoFont {
|
||||
image: ImageRaw::new(&[], 1),
|
||||
character_size: Size::zero(),
|
||||
character_spacing: 0,
|
||||
baseline: 0,
|
||||
strikethrough: DecorationDimensions::new(0, 0),
|
||||
underline: DecorationDimensions::new(0, 0),
|
||||
glyph_mapping: &mapping::ASCII,
|
||||
};
|
||||
|
||||
#[cfg(test)]
|
||||
pub(crate) mod tests {
|
||||
use arrayvec::ArrayString;
|
||||
|
||||
use super::*;
|
||||
use crate::{
|
||||
framebuffer::{buffer_size, Framebuffer},
|
||||
geometry::{Dimensions, Point},
|
||||
image::{GetPixel, Image},
|
||||
mock_display::MockDisplay,
|
||||
mono_font::{mapping::Mapping, MonoTextStyleBuilder},
|
||||
pixelcolor::{
|
||||
raw::{LittleEndian, RawU1},
|
||||
BinaryColor,
|
||||
},
|
||||
text::{Baseline, Text},
|
||||
Drawable,
|
||||
};
|
||||
|
||||
/// Draws a text using the given font and checks it against the expected pattern.
|
||||
#[track_caller]
|
||||
pub fn assert_text_from_pattern(text: &str, font: &MonoFont, pattern: &[&str]) {
|
||||
let style = MonoTextStyleBuilder::new()
|
||||
.font(font)
|
||||
.text_color(BinaryColor::On)
|
||||
.build();
|
||||
|
||||
let mut display = MockDisplay::new();
|
||||
Text::with_baseline(text, Point::zero(), style, Baseline::Top)
|
||||
.draw(&mut display)
|
||||
.unwrap();
|
||||
|
||||
display.assert_pattern(pattern);
|
||||
}
|
||||
|
||||
/// Test if the baseline constant is set correctly.
|
||||
///
|
||||
/// This test assumes that the character `A` is on the baseline.
|
||||
pub fn test_baseline(font: &MonoFont) {
|
||||
let style = MonoTextStyleBuilder::new()
|
||||
.font(font)
|
||||
.text_color(BinaryColor::On)
|
||||
.build();
|
||||
|
||||
// Draw 'A' character to determine it's baseline
|
||||
let mut display = MockDisplay::new();
|
||||
Text::with_baseline("A", Point::zero(), style, Baseline::Top)
|
||||
.draw(&mut display)
|
||||
.unwrap();
|
||||
|
||||
let baseline = display.affected_area().bottom_right().unwrap().y as u32;
|
||||
|
||||
assert_eq!(font.baseline, baseline);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn baseline() {
|
||||
test_baseline(&ascii::FONT_4X6);
|
||||
test_baseline(&ascii::FONT_5X7);
|
||||
test_baseline(&ascii::FONT_5X8);
|
||||
test_baseline(&ascii::FONT_6X10);
|
||||
test_baseline(&ascii::FONT_6X12);
|
||||
test_baseline(&ascii::FONT_6X13_BOLD);
|
||||
test_baseline(&ascii::FONT_6X13);
|
||||
test_baseline(&ascii::FONT_6X13_ITALIC);
|
||||
test_baseline(&ascii::FONT_6X9);
|
||||
test_baseline(&ascii::FONT_7X13_BOLD);
|
||||
test_baseline(&ascii::FONT_7X13);
|
||||
test_baseline(&ascii::FONT_7X13_ITALIC);
|
||||
test_baseline(&ascii::FONT_7X14_BOLD);
|
||||
test_baseline(&ascii::FONT_7X14);
|
||||
test_baseline(&ascii::FONT_8X13_BOLD);
|
||||
test_baseline(&ascii::FONT_8X13);
|
||||
test_baseline(&ascii::FONT_8X13_ITALIC);
|
||||
test_baseline(&ascii::FONT_9X15_BOLD);
|
||||
test_baseline(&ascii::FONT_9X15);
|
||||
test_baseline(&ascii::FONT_9X18_BOLD);
|
||||
test_baseline(&ascii::FONT_9X18);
|
||||
test_baseline(&ascii::FONT_10X20);
|
||||
}
|
||||
|
||||
/// (Statically) test that [`MonoFont: Send + Sync`].
|
||||
fn _mono_font_is_sync()
|
||||
where
|
||||
for<'a> MonoFont<'a>: Send + Sync,
|
||||
{
|
||||
}
|
||||
|
||||
fn new_framebuffer() -> Framebuffer<
|
||||
BinaryColor,
|
||||
RawU1,
|
||||
LittleEndian,
|
||||
96,
|
||||
200,
|
||||
{ buffer_size::<BinaryColor>(96, 200) },
|
||||
> {
|
||||
Framebuffer::new()
|
||||
}
|
||||
|
||||
fn dump_framebuffer<T: GetPixel<Color = BinaryColor> + Dimensions, const N: usize>(
|
||||
framebuffer: &T,
|
||||
output: &mut ArrayString<N>,
|
||||
) {
|
||||
let bb = framebuffer.bounding_box();
|
||||
|
||||
for y in bb.rows() {
|
||||
for x in bb.columns() {
|
||||
let c = match framebuffer.pixel(Point::new(x, y)).unwrap() {
|
||||
BinaryColor::Off => ' ',
|
||||
BinaryColor::On => '#',
|
||||
};
|
||||
output.push(c);
|
||||
}
|
||||
output.push('\n');
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn draw_font_subsets() {
|
||||
let fonts = &[
|
||||
(Mapping::Ascii, ascii::FONT_6X13),
|
||||
(Mapping::Iso8859_1, iso_8859_1::FONT_6X13),
|
||||
(Mapping::Iso8859_10, iso_8859_10::FONT_6X13),
|
||||
(Mapping::Iso8859_13, iso_8859_13::FONT_6X13),
|
||||
(Mapping::Iso8859_14, iso_8859_14::FONT_6X13),
|
||||
(Mapping::Iso8859_15, iso_8859_15::FONT_6X13),
|
||||
(Mapping::Iso8859_16, iso_8859_16::FONT_6X13),
|
||||
(Mapping::Iso8859_2, iso_8859_2::FONT_6X13),
|
||||
(Mapping::Iso8859_3, iso_8859_3::FONT_6X13),
|
||||
(Mapping::Iso8859_4, iso_8859_4::FONT_6X13),
|
||||
(Mapping::Iso8859_5, iso_8859_5::FONT_6X13),
|
||||
(Mapping::Iso8859_7, iso_8859_7::FONT_6X13),
|
||||
(Mapping::Iso8859_9, iso_8859_9::FONT_6X13),
|
||||
(Mapping::JisX0201, jis_x0201::FONT_6X13),
|
||||
];
|
||||
|
||||
for (mapping, font) in fonts {
|
||||
let mut expected = new_framebuffer();
|
||||
Image::new(&font.image, Point::zero())
|
||||
.draw(&mut expected)
|
||||
.unwrap();
|
||||
|
||||
let chars_per_row = (font.image.size().width / font.character_size.width) as usize;
|
||||
|
||||
let mut text = ArrayString::<1024>::new();
|
||||
for (i, c) in mapping.glyph_mapping().chars().enumerate() {
|
||||
if i % chars_per_row == 0 && i != 0 {
|
||||
text.push('\n');
|
||||
}
|
||||
text.push(c);
|
||||
}
|
||||
|
||||
let mut output = new_framebuffer();
|
||||
Text::with_baseline(
|
||||
&text,
|
||||
Point::zero(),
|
||||
MonoTextStyle::new(&font, BinaryColor::On),
|
||||
Baseline::Top,
|
||||
)
|
||||
.draw(&mut output)
|
||||
.unwrap();
|
||||
|
||||
if expected != output {
|
||||
let mut message = ArrayString::<65536>::new();
|
||||
message.push_str("Output:\n");
|
||||
dump_framebuffer(&output, &mut message);
|
||||
message.push_str("\nExpected:\n");
|
||||
dump_framebuffer(&expected, &mut message);
|
||||
|
||||
panic!("{}", message)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn zero_width_image() {
|
||||
const ZERO_WIDTH: MonoFont = MonoFont {
|
||||
image: ImageRaw::new(&[], 0),
|
||||
character_size: Size::zero(),
|
||||
character_spacing: 0,
|
||||
baseline: 0,
|
||||
strikethrough: DecorationDimensions::new(0, 0),
|
||||
underline: DecorationDimensions::new(0, 0),
|
||||
glyph_mapping: &mapping::ASCII,
|
||||
};
|
||||
|
||||
let mut display = MockDisplay::new();
|
||||
Text::new(
|
||||
" ",
|
||||
Point::new_equal(20),
|
||||
MonoTextStyle::new(&ZERO_WIDTH, BinaryColor::On),
|
||||
)
|
||||
.draw(&mut display)
|
||||
.unwrap();
|
||||
|
||||
display.assert_pattern(&[]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn image_width_less_than_character_width() {
|
||||
const NOT_WIDE_ENOUGH: MonoFont = MonoFont {
|
||||
image: ImageRaw::new(&[0xAA, 0xAA], 4),
|
||||
character_size: Size::new(5, 2),
|
||||
character_spacing: 0,
|
||||
baseline: 0,
|
||||
strikethrough: DecorationDimensions::new(0, 0),
|
||||
underline: DecorationDimensions::new(0, 0),
|
||||
glyph_mapping: &mapping::ASCII,
|
||||
};
|
||||
|
||||
let mut display = MockDisplay::new();
|
||||
Text::new(
|
||||
" ",
|
||||
Point::new_equal(20),
|
||||
MonoTextStyle::new(&NOT_WIDE_ENOUGH, BinaryColor::On),
|
||||
)
|
||||
.draw(&mut display)
|
||||
.unwrap();
|
||||
|
||||
display.assert_pattern(&[]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn image_height_less_than_character_height() {
|
||||
const NOT_HIGH_ENOUGH: MonoFont = MonoFont {
|
||||
image: ImageRaw::new(&[0xAA, 0xAA], 4),
|
||||
character_size: Size::new(4, 1),
|
||||
character_spacing: 0,
|
||||
baseline: 0,
|
||||
strikethrough: DecorationDimensions::new(0, 0),
|
||||
underline: DecorationDimensions::new(0, 0),
|
||||
glyph_mapping: &mapping::ASCII,
|
||||
};
|
||||
|
||||
let mut display = MockDisplay::new();
|
||||
Text::new(
|
||||
" ",
|
||||
Point::zero(),
|
||||
MonoTextStyle::new(&NOT_HIGH_ENOUGH, BinaryColor::On),
|
||||
)
|
||||
.draw(&mut display)
|
||||
.unwrap();
|
||||
|
||||
display.assert_pattern(&["# #"]);
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user