subset_font

Function subset_font 

Source
pub fn subset_font(font_data: &[u8], text: &str) -> Result<Vec<u8>, Error>
Expand description

Creates a subset of a font containing only the specified characters.

§Arguments

  • font_data - The original font file data (TTF/OTF)
  • text - The text containing all characters to include in the subset

§Returns

  • Ok(Vec<u8>) - The subset font data
  • Err(Error) - If subsetting fails

§Example

use genpdfi_extended::subsetting::subset_font;
use std::path::PathBuf;
let mut p = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
p.push("fonts/NotoSans-Regular.ttf");
let font_data = std::fs::read(&p).unwrap();
let text = "Hello World ăâîșț";  // Romanian characters
let subset = subset_font(&font_data, text).unwrap();
assert!(subset.len() < font_data.len());