summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2019-03-29 22:46:12 +0100
committerLaurenz <laurmaedje@gmail.com>2019-03-29 22:46:12 +0100
commit229bd7783cfabaa2068eed71e19503cb3fe5eb0b (patch)
tree422d49d178171bded89fa7b63f49b547d7db108d /src
parent83dd762f67c6513e4073387c5f287fd2ce9ae767 (diff)
Refactor opentype crate ♻
- Restructure modules - Improve code and documentation clearity
Diffstat (limited to 'src')
-rw-r--r--src/font.rs11
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>,