use windows::Win32::Graphics::DirectWrite::{
DWRITE_FONT_STYLE, DWRITE_FONT_STYLE_ITALIC, DWRITE_FONT_STYLE_NORMAL, DWRITE_FONT_WEIGHT, DWRITE_FONT_WEIGHT_BLACK, DWRITE_FONT_WEIGHT_BOLD,
DWRITE_FONT_WEIGHT_EXTRA_BLACK, DWRITE_FONT_WEIGHT_EXTRA_BOLD, DWRITE_FONT_WEIGHT_EXTRA_LIGHT, DWRITE_FONT_WEIGHT_LIGHT,
DWRITE_FONT_WEIGHT_MEDIUM, DWRITE_FONT_WEIGHT_REGULAR, DWRITE_FONT_WEIGHT_SEMI_BOLD, DWRITE_FONT_WEIGHT_THIN,
};
use crate::font::{FontStyle, FontWeight};
impl From<FontStyle> for DWRITE_FONT_STYLE {
fn from(style: FontStyle) -> Self {
if style.contains(FontStyle::Italic) {
DWRITE_FONT_STYLE_ITALIC
} else {
DWRITE_FONT_STYLE_NORMAL
}
}
}
impl From<FontWeight> for DWRITE_FONT_WEIGHT {
fn from(weight: FontWeight) -> Self {
match weight {
FontWeight::Thin => DWRITE_FONT_WEIGHT_THIN,
FontWeight::ExtraLight => DWRITE_FONT_WEIGHT_EXTRA_LIGHT,
FontWeight::Light => DWRITE_FONT_WEIGHT_LIGHT,
FontWeight::Normal => DWRITE_FONT_WEIGHT_REGULAR,
FontWeight::Medium => DWRITE_FONT_WEIGHT_MEDIUM,
FontWeight::SemiBold => DWRITE_FONT_WEIGHT_SEMI_BOLD,
FontWeight::Bold => DWRITE_FONT_WEIGHT_BOLD,
FontWeight::ExtraBold => DWRITE_FONT_WEIGHT_EXTRA_BOLD,
FontWeight::Black => DWRITE_FONT_WEIGHT_BLACK,
FontWeight::ExtraBlack => DWRITE_FONT_WEIGHT_EXTRA_BLACK,
}
}
}