diff options
| author | Laurenz <laurmaedje@gmail.com> | 2019-03-29 22:46:12 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2019-03-29 22:46:12 +0100 |
| commit | 229bd7783cfabaa2068eed71e19503cb3fe5eb0b (patch) | |
| tree | 422d49d178171bded89fa7b63f49b547d7db108d | |
| parent | 83dd762f67c6513e4073387c5f287fd2ce9ae767 (diff) | |
Refactor opentype crate ♻
- Restructure modules
- Improve code and documentation clearity
| -rw-r--r-- | src/font.rs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/font.rs b/src/font.rs index df8f912f..2f19a82b 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<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>, |
