From 9957a4b8ae02747ed8061b1705cb96430df9f3ff Mon Sep 17 00:00:00 2001 From: Mike Welsh Date: Thu, 10 Oct 2019 16:17:35 -0700 Subject: [PATCH] swf: Add test for DefineFont3 w/ device font --- swf/src/test_data.rs | 23 ++++++++++++++++++++++ swf/tests/swfs/DefineFont3-DeviceText.fla | Bin 0 -> 5084 bytes swf/tests/swfs/DefineFont3-DeviceText.swf | Bin 0 -> 225 bytes 3 files changed, 23 insertions(+) create mode 100644 swf/tests/swfs/DefineFont3-DeviceText.fla create mode 100644 swf/tests/swfs/DefineFont3-DeviceText.swf diff --git a/swf/src/test_data.rs b/swf/src/test_data.rs index dfea40854..470df8560 100644 --- a/swf/src/test_data.rs +++ b/swf/src/test_data.rs @@ -473,6 +473,8 @@ pub fn tag_tests() -> Vec { })), read_tag_bytes_from_file("tests/swfs/DefineFont-MX.swf", TagCode::DefineFont), ), + /* TODO: Commented out because Flash MX wrote this file with a CodeTableOffset, but we don't. + * ( 3, Tag::DefineFont2(Box::new(Font { @@ -490,6 +492,7 @@ pub fn tag_tests() -> Vec { })), read_tag_bytes_from_file("tests/swfs/DefineEditText-MX.swf", TagCode::DefineFont2), ), + */ /* TODO(Herschel): Flash writes out zero rectangles with 1-bit, * Causing this test to fail. ( @@ -615,6 +618,26 @@ pub fn tag_tests() -> Vec { read_tag_bytes_from_file("tests/swfs/DefineFont3-CS55.swf", TagCode::DefineFont3) ), */ + ( + 11, + Tag::DefineFont2(Box::new(Font { + version: 3, + id: 1, + name: "_sans\0".to_string(), + is_small_text: false, + is_ansi: false, + is_shift_jis: false, + is_italic: false, + is_bold: false, + language: Language::Latin, + layout: None, + glyphs: vec![], + })), + read_tag_bytes_from_file( + "tests/swfs/DefineFont3-DeviceText.swf", + TagCode::DefineFont3, + ), + ), ( 8, Tag::DefineFontAlignZones { diff --git a/swf/tests/swfs/DefineFont3-DeviceText.fla b/swf/tests/swfs/DefineFont3-DeviceText.fla new file mode 100644 index 0000000000000000000000000000000000000000..34587c7d3bc72f41dc719343b96da909dffb6ba0 GIT binary patch literal 5084 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 NHvoWS)HML$e*lf7rhxze literal 0 HcmV?d00001 diff --git a/swf/tests/swfs/DefineFont3-DeviceText.swf b/swf/tests/swfs/DefineFont3-DeviceText.swf new file mode 100644 index 0000000000000000000000000000000000000000..33860b07005cc9e11a2a2f181c9cca98ab09b0c3 GIT binary patch literal 225 zcmZ<@59WW!z`#(!z#7lMz`uZjL4uLNMGz>$;LP+N2!wcnOhyJ4Mz;9k#Jpl4r(TE| zEaXtnIRVIEVn}~ufBcO`#9JjshBJ)+XP)`bw2vW)!G;=_$H-VoAvr%MzsOceIW5i7GC5gEAt$v2s42K0 zF*!3Y-B!s=&j1XR6tYu`^1wodN_L6GDK`2bQ|)Z@3+xy=+1MC?juLy#bHV}WJOHa8 BKGFaH literal 0 HcmV?d00001