diff --git a/Cargo.lock b/Cargo.lock index a7bb26fa7..42a555b52 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -936,17 +936,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991" -[[package]] -name = "d3d12" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e3d747f100290a1ca24b752186f61f6637e1deffe3bf6320de6fcb29510a307" -dependencies = [ - "bitflags 2.5.0", - "libloading 0.8.3", - "winapi", -] - [[package]] name = "d3d12" version = "0.20.0" @@ -964,6 +953,12 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +[[package]] +name = "data-url" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" + [[package]] name = "deranged" version = "0.3.11" @@ -1126,6 +1121,12 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "float-cmp" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" + [[package]] name = "flume" version = "0.11.0" @@ -1141,12 +1142,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "font-types" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b7f6040d337bd44434ab21fc6509154edf2cece88b23758d9d64654c4e7730b" - [[package]] name = "font-types" version = "0.5.5" @@ -1601,6 +1596,17 @@ dependencies = [ "rust-fontconfig", ] +[[package]] +name = "gosub_svg" +version = "0.1.0" +dependencies = [ + "gosub_html5", + "gosub_render_backend", + "gosub_shared", + "tiny-skia", + "usvg", +] + [[package]] name = "gosub_testing" version = "0.1.0" @@ -1662,8 +1668,8 @@ dependencies = [ "image", "raw-window-handle", "smallvec", - "vello 0.2.0", - "wgpu 0.20.0", + "vello", + "wgpu", ] [[package]] @@ -1726,17 +1732,6 @@ dependencies = [ "windows", ] -[[package]] -name = "gpu-descriptor" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" -dependencies = [ - "bitflags 2.5.0", - "gpu-descriptor-types 0.1.2", - "hashbrown", -] - [[package]] name = "gpu-descriptor" version = "0.3.0" @@ -1744,19 +1739,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c08c1f623a8d0b722b8b99f821eb0ba672a1618f0d3b16ddbee1cedd2dd8557" dependencies = [ "bitflags 2.5.0", - "gpu-descriptor-types 0.2.0", + "gpu-descriptor-types", "hashbrown", ] -[[package]] -name = "gpu-descriptor-types" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" -dependencies = [ - "bitflags 2.5.0", -] - [[package]] name = "gpu-descriptor-types" version = "0.2.0" @@ -2016,6 +2002,12 @@ dependencies = [ "thiserror", ] +[[package]] +name = "imagesize" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284" + [[package]] name = "imgref" version = "1.10.1" @@ -2336,21 +2328,6 @@ dependencies = [ "libc", ] -[[package]] -name = "metal" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" -dependencies = [ - "bitflags 2.5.0", - "block", - "core-graphics-types", - "foreign-types", - "log", - "objc", - "paste", -] - [[package]] name = "metal" version = "0.28.0" @@ -2403,26 +2380,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "naga" -version = "0.19.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e3524642f53d9af419ab5e8dd29d3ba155708267667c2f3f06c88c9e130843" -dependencies = [ - "bit-set", - "bitflags 2.5.0", - "codespan-reporting", - "hexf-parse", - "indexmap", - "log", - "num-traits", - "rustc-hash", - "spirv", - "termcolor", - "thiserror", - "unicode-xid", -] - [[package]] name = "naga" version = "0.20.0" @@ -2622,7 +2579,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", - "objc_exception", ] [[package]] @@ -2725,15 +2681,6 @@ dependencies = [ "objc2-metal", ] -[[package]] -name = "objc_exception" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" -dependencies = [ - "cc", -] - [[package]] name = "object" version = "0.32.2" @@ -2887,9 +2834,15 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" dependencies = [ - "siphasher", + "siphasher 0.3.11", ] +[[package]] +name = "pico-args" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" + [[package]] name = "pin-project" version = "1.1.5" @@ -3258,15 +3211,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "read-fonts" -version = "0.15.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea23eedb4d938031b6d4343222444608727a6aa68ec355e13588d9947ffe92" -dependencies = [ - "font-types 0.4.3", -] - [[package]] name = "read-fonts" version = "0.19.3" @@ -3274,7 +3218,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8b8af39d1f23869711ad4cea5e7835a20daa987f80232f7f2a2374d648ca64d" dependencies = [ "bytemuck", - "font-types 0.5.5", + "font-types", ] [[package]] @@ -3355,6 +3299,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "roxmltree" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c20b6793b5c2fa6553b250154b78d6d0db37e72700ae35fad9387a46f487c97" + [[package]] name = "rstar" version = "0.12.0" @@ -3568,6 +3518,15 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "simplecss" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d" +dependencies = [ + "log", +] + [[package]] name = "siphasher" version = "0.3.11" @@ -3575,13 +3534,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" [[package]] -name = "skrifa" -version = "0.15.5" +name = "siphasher" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eff28ee3b66d43060ef9a327e0f18e4c1813f194120156b4d4524fac3ba8ce22" -dependencies = [ - "read-fonts 0.15.6", -] +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "skrifa" @@ -3590,7 +3546,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ab45fb68b53576a43d4fc0e9ec8ea64e29a4d2cc7f44506964cb75f288222e9" dependencies = [ "bytemuck", - "read-fonts 0.19.3", + "read-fonts", ] [[package]] @@ -3724,6 +3680,9 @@ name = "strict-num" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" +dependencies = [ + "float-cmp", +] [[package]] name = "strsim" @@ -3743,6 +3702,16 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f83ba502a3265efb76efb89b0a2f7782ad6f2675015d4ce37e4b547dda42b499" +[[package]] +name = "svgtypes" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fae3064df9b89391c9a76a0425a69d124aee9c5c28455204709e72c39868a43c" +dependencies = [ + "kurbo", + "siphasher 1.0.1", +] + [[package]] name = "syn" version = "1.0.109" @@ -3923,6 +3892,7 @@ dependencies = [ "bytemuck", "cfg-if", "log", + "png", "tiny-skia-path", ] @@ -4173,6 +4143,28 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "usvg" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84ea542ae85c715f07b082438a4231c3760539d902e11d093847a0b22963032" +dependencies = [ + "base64", + "data-url", + "flate2", + "imagesize", + "kurbo", + "log", + "pico-args", + "roxmltree", + "simplecss", + "siphasher 1.0.1", + "strict-num", + "svgtypes", + "tiny-skia-path", + "xmlwriter", +] + [[package]] name = "utf8parse" version = "0.2.1" @@ -4214,21 +4206,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "vello" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9a4b96a2d6d6effa67868b4436560e3a767f71f0e043df007587c5d6b2e8b7a" -dependencies = [ - "bytemuck", - "futures-intrusive", - "peniko", - "raw-window-handle", - "skrifa 0.15.5", - "vello_encoding 0.1.0", - "wgpu 0.19.4", -] - [[package]] name = "vello" version = "0.2.0" @@ -4240,24 +4217,12 @@ dependencies = [ "log", "peniko", "raw-window-handle", - "skrifa 0.19.3", + "skrifa", "static_assertions", "thiserror", - "vello_encoding 0.2.0", + "vello_encoding", "vello_shaders", - "wgpu 0.20.0", -] - -[[package]] -name = "vello_encoding" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c5b6c6ec113c9b6ee1e1894ccef1b5559373aead718b7442811f2fefff7d423" -dependencies = [ - "bytemuck", - "guillotiere", - "peniko", - "skrifa 0.15.5", + "wgpu", ] [[package]] @@ -4269,7 +4234,7 @@ dependencies = [ "bytemuck", "guillotiere", "peniko", - "skrifa 0.19.3", + "skrifa", "smallvec", ] @@ -4280,9 +4245,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f3f31e3763e09febb449533238551bca5203aff4513324c8558b4c0b1c546fb" dependencies = [ "bytemuck", - "naga 0.20.0", + "naga", "thiserror", - "vello_encoding 0.2.0", + "vello_encoding", ] [[package]] @@ -4548,31 +4513,6 @@ version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082" -[[package]] -name = "wgpu" -version = "0.19.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd7311dbd2abcfebaabf1841a2824ed7c8be443a0f29166e5d3c6a53a762c01" -dependencies = [ - "arrayvec", - "cfg-if", - "cfg_aliases 0.1.1", - "js-sys", - "log", - "naga 0.19.2", - "parking_lot", - "profiling", - "raw-window-handle", - "smallvec", - "static_assertions", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "wgpu-core 0.19.3", - "wgpu-hal 0.19.3", - "wgpu-types 0.19.2", -] - [[package]] name = "wgpu" version = "0.20.0" @@ -4585,7 +4525,7 @@ dependencies = [ "document-features", "js-sys", "log", - "naga 0.20.0", + "naga", "parking_lot", "profiling", "raw-window-handle", @@ -4594,35 +4534,9 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "wgpu-core 0.20.0", - "wgpu-hal 0.20.0", - "wgpu-types 0.20.0", -] - -[[package]] -name = "wgpu-core" -version = "0.19.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9f6b033c2f00ae0bc8ea872c5989777c60bc241aac4e58b24774faa8b391f78" -dependencies = [ - "arrayvec", - "bit-vec", - "bitflags 2.5.0", - "cfg_aliases 0.1.1", - "codespan-reporting", - "indexmap", - "log", - "naga 0.19.2", - "once_cell", - "parking_lot", - "profiling", - "raw-window-handle", - "rustc-hash", - "smallvec", - "thiserror", - "web-sys", - "wgpu-hal 0.19.3", - "wgpu-types 0.19.2", + "wgpu-core", + "wgpu-hal", + "wgpu-types", ] [[package]] @@ -4639,62 +4553,17 @@ dependencies = [ "document-features", "indexmap", "log", - "naga 0.20.0", - "once_cell", - "parking_lot", - "profiling", - "raw-window-handle", - "rustc-hash", - "smallvec", - "thiserror", - "web-sys", - "wgpu-hal 0.20.0", - "wgpu-types 0.20.0", -] - -[[package]] -name = "wgpu-hal" -version = "0.19.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f972c280505ab52ffe17e94a7413d9d54b58af0114ab226b9fc4999a47082e" -dependencies = [ - "android_system_properties", - "arrayvec", - "ash", - "bit-set", - "bitflags 2.5.0", - "block", - "cfg_aliases 0.1.1", - "core-graphics-types", - "d3d12 0.19.0", - "glow", - "glutin_wgl_sys", - "gpu-alloc", - "gpu-allocator", - "gpu-descriptor 0.2.4", - "hassle-rs", - "js-sys", - "khronos-egl", - "libc", - "libloading 0.8.3", - "log", - "metal 0.27.0", - "naga 0.19.2", - "ndk-sys 0.5.0+25.2.9519653", - "objc", + "naga", "once_cell", "parking_lot", "profiling", - "range-alloc", "raw-window-handle", - "renderdoc-sys", "rustc-hash", "smallvec", "thiserror", - "wasm-bindgen", "web-sys", - "wgpu-types 0.19.2", - "winapi", + "wgpu-hal", + "wgpu-types", ] [[package]] @@ -4711,20 +4580,20 @@ dependencies = [ "block", "cfg_aliases 0.1.1", "core-graphics-types", - "d3d12 0.20.0", + "d3d12", "glow", "glutin_wgl_sys", "gpu-alloc", "gpu-allocator", - "gpu-descriptor 0.3.0", + "gpu-descriptor", "hassle-rs", "js-sys", "khronos-egl", "libc", "libloading 0.8.3", "log", - "metal 0.28.0", - "naga 0.20.0", + "metal", + "naga", "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", @@ -4738,21 +4607,10 @@ dependencies = [ "thiserror", "wasm-bindgen", "web-sys", - "wgpu-types 0.20.0", + "wgpu-types", "winapi", ] -[[package]] -name = "wgpu-types" -version = "0.19.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b671ff9fb03f78b46ff176494ee1ebe7d603393f42664be55b64dc8d53969805" -dependencies = [ - "bitflags 2.5.0", - "js-sys", - "web-sys", -] - [[package]] name = "wgpu-types" version = "0.20.0" @@ -5184,6 +5042,12 @@ version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" +[[package]] +name = "xmlwriter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9" + [[package]] name = "zerocopy" version = "0.7.32" diff --git a/crates/gosub_vello/src/text.rs b/crates/gosub_vello/src/text.rs index 2ee25151f..8c095a331 100644 --- a/crates/gosub_vello/src/text.rs +++ b/crates/gosub_vello/src/text.rs @@ -43,14 +43,15 @@ fn get_fonts_from_family(font_families: Option>) -> Vec { for (i, f) in font.into_iter().enumerate() { fonts.push(Font::new(Blob::new(f), i as u32)); } - if fonts.is_empty() { - fonts.push(Font::new(Blob::new(BACKUP_FONT.data.clone()), 0)); - } } } else { fonts.push(Font::new(Blob::new(BACKUP_FONT.data.clone()), 0)); } + if fonts.is_empty() { + fonts.push(Font::new(Blob::new(BACKUP_FONT.data.clone()), 0)); + } + fonts }