From 229bd7783cfabaa2068eed71e19503cb3fe5eb0b Mon Sep 17 00:00:00 2001 From: Laurenz Date: Fri, 29 Mar 2019 22:46:12 +0100 Subject: [PATCH] =?UTF-8?q?Refactor=20opentype=20crate=20=E2=99=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Restructure modules - Improve code and documentation clearity --- src/font.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/font.rs b/src/font.rs index df8f912fa..2f19a82bc 100644 --- a/src/font.rs +++ b/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 = 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>>, + reader: OpenTypeReader>, outlines: Outlines, tables: Vec, cmap: Option,