aboutsummaryrefslogtreecommitdiffstats
path: root/components/gfx/font.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/gfx/font.rs')
-rw-r--r--components/gfx/font.rs14
1 files changed, 6 insertions, 8 deletions
diff --git a/components/gfx/font.rs b/components/gfx/font.rs
index 6fffb845106..b1765e8ae2c 100644
--- a/components/gfx/font.rs
+++ b/components/gfx/font.rs
@@ -6,9 +6,8 @@ use euclid::{Point2D, Rect, Size2D};
use smallvec::SmallVec;
use std::borrow::ToOwned;
use std::cell::RefCell;
-use std::mem;
use std::rc::Rc;
-use std::slice;
+use std::str;
use std::sync::Arc;
use style::computed_values::{font_stretch, font_variant, font_weight};
use style::properties::style_structs::Font as FontStyle;
@@ -56,12 +55,11 @@ pub trait FontTableTagConversions {
impl FontTableTagConversions for FontTableTag {
fn tag_to_str(&self) -> String {
- unsafe {
- let pointer = mem::transmute::<&u32, *const u8>(self);
- let mut bytes = slice::from_raw_parts(pointer, 4).to_vec();
- bytes.reverse();
- String::from_utf8_unchecked(bytes)
- }
+ let bytes = [(self >> 24) as u8,
+ (self >> 16) as u8,
+ (self >> 8) as u8,
+ (self >> 0) as u8];
+ str::from_utf8(&bytes).unwrap().to_owned()
}
}