mirror of
https://github.com/typst/typst
synced 2025-05-13 12:36:23 +08:00
Refactor opentype crate ♻
- Restructure modules - Improve code and documentation clearity
This commit is contained in:
parent
83dd762f67
commit
229bd7783c
11
src/font.rs
11
src/font.rs
@ -10,7 +10,7 @@ use std::io::{self, Cursor, Read, Seek, SeekFrom};
|
||||
use byteorder::{BE, ReadBytesExt, WriteBytesExt};
|
||||
use opentype::{Error as OpentypeError, OpenTypeReader, Outlines, TableRecord, Tag};
|
||||
use opentype::tables::{Header, Name, CharMap, MaximumProfile, HorizontalMetrics, Post, OS2};
|
||||
use opentype::tables::{MacStyleFlags, NameEntry};
|
||||
use opentype::global::{MacStyleFlags, NameEntry};
|
||||
use crate::doc::{Size, FontFamily};
|
||||
|
||||
|
||||
@ -142,11 +142,10 @@ impl Font {
|
||||
{
|
||||
let mut chars: Vec<char> = chars.into_iter().collect();
|
||||
chars.sort();
|
||||
let mut cursor = Cursor::new(&self.program);
|
||||
let mut reader = OpenTypeReader::new(&mut cursor);
|
||||
|
||||
let mut reader = OpenTypeReader::from_slice(&self.program);
|
||||
let outlines = reader.outlines()?;
|
||||
let mut tables = reader.tables()?.to_vec();
|
||||
tables.sort_by_key(|r| r.tag);
|
||||
let tables = reader.tables()?.to_vec();
|
||||
|
||||
Subsetter {
|
||||
font: &self,
|
||||
@ -168,7 +167,7 @@ impl Font {
|
||||
struct Subsetter<'p> {
|
||||
// Original font
|
||||
font: &'p Font,
|
||||
reader: OpenTypeReader<'p, Cursor<&'p Vec<u8>>>,
|
||||
reader: OpenTypeReader<Cursor<&'p [u8]>>,
|
||||
outlines: Outlines,
|
||||
tables: Vec<TableRecord>,
|
||||
cmap: Option<CharMap>,
|
||||
|
Loading…
x
Reference in New Issue
Block a user