diff --git a/Cargo.lock b/Cargo.lock index 6549756f..df376157 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -228,15 +228,6 @@ version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" -[[package]] -name = "arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" -dependencies = [ - "derive_arbitrary", -] - [[package]] name = "arrayref" version = "0.3.9" @@ -636,16 +627,6 @@ version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3" -[[package]] -name = "calendrical_calculations" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a0b39595c6ee54a8d0900204ba4c401d0ab4eb45adaf07178e8d017541529e7" -dependencies = [ - "core_maths", - "displaydoc", -] - [[package]] name = "calloop" version = "0.13.0" @@ -781,15 +762,6 @@ dependencies = [ "windows-win", ] -[[package]] -name = "cobs" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1" -dependencies = [ - "thiserror 2.0.17", -] - [[package]] name = "codespan-reporting" version = "0.11.1" @@ -914,12 +886,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crlify" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241cd99da96450367ae4045265034f61b3ad4aefd3288e1a0d191c31b30bcfbf" - [[package]] name = "crossbeam-channel" version = "0.5.15" @@ -989,17 +955,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "derive_arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "dispatch" version = "0.2.0" @@ -1063,15 +1018,6 @@ version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" -[[package]] -name = "elsa" -version = "1.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9abf33c656a7256451ebb7d0082c5a471820c31269e49d807c538c252352186e" -dependencies = [ - "stable_deref_trait", -] - [[package]] name = "encode_unicode" version = "1.0.0" @@ -1111,17 +1057,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" -[[package]] -name = "erased-serde" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" -dependencies = [ - "serde", - "serde_core", - "typeid", -] - [[package]] name = "errno" version = "0.3.14" @@ -1221,17 +1156,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a3076410a55c90011c298b04d0cfa770b00fa04e1e3c97d3f6c9de105a03844" -[[package]] -name = "fixed_decimal" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35eabf480f94d69182677e37571d3be065822acfafd12f2f085db44fbbcc8e57" -dependencies = [ - "displaydoc", - "smallvec", - "writeable", -] - [[package]] name = "flate2" version = "1.1.5" @@ -1745,65 +1669,6 @@ dependencies = [ "cc", ] -[[package]] -name = "icu" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ab713dd86fa032cb5487f9ac3a85d47b5dcf4c7b8c7dd00210b3cadd6a6551" -dependencies = [ - "icu_calendar", - "icu_casemap", - "icu_collator", - "icu_collections", - "icu_datetime", - "icu_decimal", - "icu_experimental", - "icu_list", - "icu_locale", - "icu_normalizer", - "icu_plurals", - "icu_properties", - "icu_provider", - "icu_provider_registry", - "icu_segmenter", - "icu_time", - "memchr", -] - -[[package]] -name = "icu_calendar" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6f0e52e009b6b16ba9c0693578796f2dd4aaa59a7f8f920423706714a89ac4e" -dependencies = [ - "calendrical_calculations", - "databake", - "displaydoc", - "icu_locale_core", - "icu_provider", - "ixdtf", - "serde", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_casemap" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4ca9983e8bf51223c2f89014fa4eaa9e9b336c47f3af0d000538f86f841fba1" -dependencies = [ - "databake", - "icu_collections", - "icu_locale_core", - "icu_properties", - "icu_provider", - "potential_utf", - "serde", - "writeable", - "zerovec", -] - [[package]] name = "icu_codepointtrie_builder" version = "0.5.1" @@ -1816,25 +1681,6 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_collator" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32eed11a5572f1088b63fa21dc2e70d4a865e5739fc2d10abc05be93bae97019" -dependencies = [ - "databake", - "icu_collections", - "icu_locale_core", - "icu_normalizer", - "icu_properties", - "icu_provider", - "serde", - "smallvec", - "utf16_iter", - "utf8_iter", - "zerovec", -] - [[package]] name = "icu_collections" version = "2.1.1" @@ -1850,109 +1696,17 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_datetime" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9d49f41ded8e63761b6b4c3120dfdc289415a1ed10107db6198eb311057ca5" -dependencies = [ - "databake", - "displaydoc", - "either", - "fixed_decimal", - "icu_calendar", - "icu_decimal", - "icu_locale_core", - "icu_pattern", - "icu_plurals", - "icu_provider", - "icu_time", - "litemap", - "potential_utf", - "serde", - "smallvec", - "tinystr", - "writeable", - "zerotrie", - "zerovec", -] - -[[package]] -name = "icu_decimal" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38c52231bc348f9b982c1868a2af3195199623007ba2c7650f432038f5b3e8e" -dependencies = [ - "databake", - "fixed_decimal", - "icu_locale_core", - "icu_provider", - "serde", - "writeable", - "zerovec", -] - -[[package]] -name = "icu_experimental" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4ffa4d60b9cb8b024082afaf9e94d853184e483ec69322c74dc437bf8a882a5" -dependencies = [ - "databake", - "displaydoc", - "either", - "fixed_decimal", - "icu_casemap", - "icu_collections", - "icu_decimal", - "icu_list", - "icu_locale", - "icu_locale_core", - "icu_normalizer", - "icu_pattern", - "icu_plurals", - "icu_properties", - "icu_provider", - "litemap", - "log", - "num-bigint", - "num-rational", - "num-traits", - "potential_utf", - "serde", - "smallvec", - "tinystr", - "writeable", - "zerotrie", - "zerovec", -] - -[[package]] -name = "icu_list" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3a0b7b126e2fc42777d3c348611553d540bd3683caa39b387c5dd1036bb21a8" -dependencies = [ - "databake", - "icu_provider", - "regex-automata", - "serde", - "writeable", - "zerovec", -] - [[package]] name = "icu_locale" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "532b11722e350ab6bf916ba6eb0efe3ee54b932666afec989465f9243fe6dd60" dependencies = [ - "databake", "icu_collections", "icu_locale_core", + "icu_locale_data", "icu_provider", "potential_utf", - "serde", "tinystr", "zerovec", ] @@ -1963,7 +1717,6 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ - "databake", "displaydoc", "litemap", "serde", @@ -1972,22 +1725,23 @@ dependencies = [ "zerovec", ] +[[package]] +name = "icu_locale_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f03e2fcaefecdf05619f3d6f91740e79ab969b4dd54f77cbf546b1d0d28e3147" + [[package]] name = "icu_normalizer" version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ - "databake", "icu_collections", "icu_normalizer_data", "icu_properties", "icu_provider", - "serde", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] @@ -1997,47 +1751,16 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" -[[package]] -name = "icu_pattern" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a7ff8c0ff6f61cdce299dcb54f557b0a251adbc78f6f0c35a21332c452b4a1b" -dependencies = [ - "databake", - "displaydoc", - "either", - "serde", - "writeable", - "yoke", - "zerovec", -] - -[[package]] -name = "icu_plurals" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f9cfe49f5b1d1163cc58db451562339916a9ca5cbcaae83924d41a0bf839474" -dependencies = [ - "databake", - "displaydoc", - "fixed_decimal", - "icu_provider", - "serde", - "zerovec", -] - [[package]] name = "icu_properties" version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ - "databake", "icu_collections", "icu_locale_core", "icu_properties_data", "icu_provider", - "serde", "zerotrie", "zerovec", ] @@ -2054,12 +1777,8 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ - "databake", "displaydoc", - "erased-serde", "icu_locale_core", - "log", - "postcard", "serde", "stable_deref_trait", "writeable", @@ -2069,112 +1788,28 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_provider_baked" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "612def768d023c68ce31e9e649e20140b447b2519340845e3f279c82e6cdf7ec" -dependencies = [ - "crlify", - "databake", - "heck", - "icu_provider", - "icu_provider_registry", - "log", - "zerotrie", -] - -[[package]] -name = "icu_provider_export" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "088df9d306e2c713acf6ac13eaa58f41b48b070a14501232ed7a0fb911837df0" -dependencies = [ - "displaydoc", - "icu_locale", - "icu_provider", - "icu_provider_baked", - "log", - "writeable", -] - -[[package]] -name = "icu_provider_registry" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3af68b82555117bc91a46a8ed8774157aadcb7904edcda0281c0a3df4ed12a0" - -[[package]] -name = "icu_provider_source" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bb8935cff3b53b70c26d8a1d727c99ab6ddbfb92c09a009debaa0b4c0b0e46" -dependencies = [ - "calendrical_calculations", - "displaydoc", - "elsa", - "flate2", - "icu", - "icu_codepointtrie_builder", - "icu_pattern", - "icu_provider", - "icu_provider_registry", - "icu_time", - "itertools", - "litemap", - "log", - "ndarray", - "parse-zoneinfo", - "potential_utf", - "serde", - "serde-aux", - "serde_json", - "tar", - "tinystr", - "toml", - "twox-hash", - "ureq", - "writeable", - "zerotrie", - "zerovec", - "zip", -] - [[package]] name = "icu_segmenter" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43da5e7e9b540df15e53ca27f69b50e36e01b652584b40b3335ed65d18303834" +checksum = "a807a7488f3f758629ae86d99d9d30dce24da2fb2945d74c80a4f4a62c71db73" dependencies = [ - "core_maths", - "databake", "icu_collections", + "icu_locale", "icu_provider", + "icu_segmenter_data", "potential_utf", - "serde", "utf8_iter", "zerovec", ] [[package]] -name = "icu_time" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8242b00da3b3b6678f731437a11c8833a43c821ae081eca60ba1b7579d45b6d8" -dependencies = [ - "calendrical_calculations", - "databake", - "displaydoc", - "icu_calendar", - "icu_locale_core", - "icu_provider", - "ixdtf", - "serde", - "zerotrie", - "zerovec", -] - -[[package]] +name = "icu_segmenter_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ebbb7321d9e21d25f5660366cb6c08201d0175898a3a6f7a41ee9685af21c80" + +[[package]] name = "image" version = "0.25.9" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2232,27 +1867,12 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" -[[package]] -name = "itertools" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" -[[package]] -name = "ixdtf" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84de9d95a6d2547d9b77ee3f25fa0ee32e3c3a6484d47a55adebc0439c077992" - [[package]] name = "jni" version = "0.21.1" @@ -2457,9 +2077,6 @@ name = "litemap" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" -dependencies = [ - "serde_core", -] [[package]] name = "litrs" @@ -2497,16 +2114,6 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" -[[package]] -name = "matrixmultiply" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" -dependencies = [ - "autocfg", - "rawpointer", -] - [[package]] name = "maud" version = "0.27.0" @@ -2633,21 +2240,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "ndarray" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882ed72dce9365842bf196bdeedf5055305f11fc8c03dee7bb0194a6cad34841" -dependencies = [ - "matrixmultiply", - "num-complex", - "num-integer", - "num-traits", - "portable-atomic", - "portable-atomic-util", - "rawpointer", -] - [[package]] name = "ndk" version = "0.9.0" @@ -2700,45 +2292,6 @@ dependencies = [ "memoffset", ] -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -3198,15 +2751,6 @@ dependencies = [ "libredox", ] -[[package]] -name = "ordered-float" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits", -] - [[package]] name = "ordered-float" version = "4.6.0" @@ -3291,11 +2835,9 @@ dependencies = [ "fontique", "harfrust", "hashbrown 0.16.1", - "icu_collections", "icu_locale_core", "icu_normalizer", "icu_properties", - "icu_provider", "icu_segmenter", "linebender_resource_handle", "oxipng", @@ -3304,7 +2846,6 @@ dependencies = [ "peniko", "skrifa 0.37.0", "tiny-skia", - "zerovec", ] [[package]] @@ -3337,12 +2878,7 @@ dependencies = [ "databake", "icu_codepointtrie_builder", "icu_collections", - "icu_locale", - "icu_normalizer", "icu_properties", - "icu_provider_export", - "icu_provider_source", - "icu_segmenter", "parley_data", ] @@ -3354,12 +2890,6 @@ version = "0.0.0" name = "parley_draw" version = "0.0.0" -[[package]] -name = "parse-zoneinfo" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052ff849639942444955d93311f17caa86c9d77164a3dfc3b477b066246a5a79" - [[package]] name = "paste" version = "1.0.15" @@ -3491,32 +3021,12 @@ version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" -[[package]] -name = "portable-atomic-util" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" -dependencies = [ - "portable-atomic", -] - -[[package]] -name = "postcard" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24" -dependencies = [ - "cobs", - "serde", -] - [[package]] name = "potential_utf" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" dependencies = [ - "databake", "serde_core", "writeable", "zerovec", @@ -3543,7 +3053,7 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ - "toml_edit 0.23.7", + "toml_edit", ] [[package]] @@ -3670,12 +3180,6 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" -[[package]] -name = "rawpointer" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" - [[package]] name = "rayon" version = "1.11.0" @@ -3735,21 +3239,6 @@ dependencies = [ "bitflags 2.10.0", ] -[[package]] -name = "regex-automata" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" -dependencies = [ - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" - [[package]] name = "renderdoc-sys" version = "1.1.0" @@ -3765,20 +3254,6 @@ dependencies = [ "bytemuck", ] -[[package]] -name = "ring" -version = "0.17.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.16", - "libc", - "untrusted", - "windows-sys 0.52.0", -] - [[package]] name = "roxmltree" version = "0.21.1" @@ -3826,41 +3301,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "rustls" -version = "0.23.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" -dependencies = [ - "log", - "once_cell", - "ring", - "rustls-pki-types", - "rustls-webpki", - "subtle", - "zeroize", -] - -[[package]] -name = "rustls-pki-types" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" -dependencies = [ - "zeroize", -] - -[[package]] -name = "rustls-webpki" -version = "0.103.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" -dependencies = [ - "ring", - "rustls-pki-types", - "untrusted", -] - [[package]] name = "rustversion" version = "1.0.22" @@ -3943,27 +3383,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-aux" -version = "4.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "207f67b28fe90fb596503a9bf0bf1ea5e831e21307658e177c5dfcdfc3ab8a0a" -dependencies = [ - "serde", - "serde-value", - "serde_json", -] - -[[package]] -name = "serde-value" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" -dependencies = [ - "ordered-float 2.10.1", - "serde", -] - [[package]] name = "serde_core" version = "1.0.228" @@ -4019,15 +3438,6 @@ dependencies = [ "syn", ] -[[package]] -name = "serde_spanned" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" -dependencies = [ - "serde", -] - [[package]] name = "serde_urlencoded" version = "0.7.1" @@ -4102,9 +3512,6 @@ name = "smallvec" version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" -dependencies = [ - "serde", -] [[package]] name = "smithay-client-toolkit" @@ -4221,12 +3628,6 @@ dependencies = [ "syn", ] -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - [[package]] name = "supports-color" version = "3.0.2" @@ -4318,16 +3719,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" -[[package]] -name = "tar" -version = "0.4.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" -dependencies = [ - "filetime", - "libc", -] - [[package]] name = "tempfile" version = "3.23.0" @@ -4445,7 +3836,6 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ - "databake", "displaydoc", "serde_core", "zerovec", @@ -4476,27 +3866,6 @@ dependencies = [ "syn", ] -[[package]] -name = "toml" -version = "0.8.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime 0.6.11", - "toml_edit 0.22.27", -] - -[[package]] -name = "toml_datetime" -version = "0.6.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" -dependencies = [ - "serde", -] - [[package]] name = "toml_datetime" version = "0.7.3" @@ -4506,19 +3875,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "toml_edit" -version = "0.22.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" -dependencies = [ - "indexmap", - "serde", - "serde_spanned", - "toml_datetime 0.6.11", - "winnow", -] - [[package]] name = "toml_edit" version = "0.23.7" @@ -4526,7 +3882,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" dependencies = [ "indexmap", - "toml_datetime 0.7.3", + "toml_datetime", "toml_parser", "winnow", ] @@ -4606,18 +3962,6 @@ version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" -[[package]] -name = "twox-hash" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" - -[[package]] -name = "typeid" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" - [[package]] name = "uds_windows" version = "1.1.0" @@ -4685,53 +4029,6 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "ureq" -version = "3.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d39cb1dbab692d82a977c0392ffac19e188bd9186a9f32806f0aaa859d75585a" -dependencies = [ - "base64", - "flate2", - "log", - "percent-encoding", - "rustls", - "rustls-pki-types", - "ureq-proto", - "utf-8", - "webpki-roots", -] - -[[package]] -name = "ureq-proto" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d81f9efa9df032be5934a46a068815a10a042b494b6a58cb0a1a97bb5467ed6f" -dependencies = [ - "base64", - "http", - "httparse", - "log", -] - -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -5132,15 +4429,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki-roots" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "weezl" version = "0.1.12" @@ -5228,7 +4516,7 @@ dependencies = [ "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", - "ordered-float 4.6.0", + "ordered-float", "parking_lot", "profiling", "range-alloc", @@ -5849,20 +5137,11 @@ version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - [[package]] name = "writeable" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" -dependencies = [ - "either", -] [[package]] name = "wyz" @@ -6130,25 +5409,15 @@ dependencies = [ "synstructure", ] -[[package]] -name = "zeroize" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" - [[package]] name = "zerotrie" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" dependencies = [ - "databake", "displaydoc", - "litemap", - "serde_core", "yoke", "zerofrom", - "zerovec", ] [[package]] @@ -6175,23 +5444,6 @@ dependencies = [ "syn", ] -[[package]] -name = "zip" -version = "2.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50" -dependencies = [ - "arbitrary", - "crc32fast", - "crossbeam-utils", - "displaydoc", - "flate2", - "indexmap", - "memchr", - "thiserror 2.0.17", - "zopfli", -] - [[package]] name = "zopfli" version = "0.8.3" diff --git a/Cargo.toml b/Cargo.toml index 819f39d9..7585eb91 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,15 +33,10 @@ harfrust = { version = "0.3.2", default-features = false } hashbrown = { version = "0.16.1", default-features = false, features = ["default-hasher"] } icu_codepointtrie_builder = { version = "0.5.1", default-features = false, features = ["wasm"] } icu_collections = { version = "2.1.1", default-features = false } -icu_locale = { version = "2.1.1", default-features = false } icu_locale_core = { version = "2.1.1", default-features = false } -icu_normalizer = { version = "~2.1.1", default-features = false } -icu_properties = { version = "~2.1.2", default-features = false } -icu_provider = { version = "2.1.1", default-features = false } -icu_provider_adapters = { version = "2.1.1", default-features = false } -icu_provider_export = { version = "2.1.1", default-features = false } -icu_provider_source = { version = "2.1.1", default-features = false } -icu_segmenter = { version = "~2.1.1", default-features = false } +icu_normalizer = { version = "2.1.1", default-features = false } +icu_properties = { version = "2.1.2", default-features = false } +icu_segmenter = { version = "2.1.2", default-features = false } linebender_resource_handle = { version = "0.1.1", default-features = false } parley = { version = "0.7.0", default-features = false, path = "parley" } parley_data = { path = "parley_data", default-features = false } diff --git a/parley/Cargo.toml b/parley/Cargo.toml index 181bea94..68a4caf4 100644 --- a/parley/Cargo.toml +++ b/parley/Cargo.toml @@ -27,20 +27,16 @@ accesskit = ["dep:accesskit"] [dependencies] skrifa = { workspace = true } linebender_resource_handle = { workspace = true } -fontique = { workspace = true } +fontique = { workspace = true, features = ["icu_properties"] } core_maths = { version = "0.1.1", optional = true } parley_data = { workspace = true, features = ["baked"] } accesskit = { workspace = true, optional = true } hashbrown = { workspace = true } harfrust = { workspace = true } -icu_collections = { workspace = true } icu_locale_core = { workspace = true } -icu_normalizer = { workspace = true } -icu_properties = { workspace = true } -icu_provider = { workspace = true } -icu_segmenter = { workspace = true, features = ["auto"] } -# Used in ICU4X baked data sources -zerovec = { workspace = true } +icu_normalizer = { workspace = true, features = ["compiled_data"] } +icu_properties = { workspace = true, features = ["compiled_data"] } +icu_segmenter = { workspace = true, features = ["compiled_data"] } [dev-dependencies] parley_dev = { workspace = true } diff --git a/parley/src/analysis/cluster.rs b/parley/src/analysis/cluster.rs index 57b79e1d..0e3e8053 100644 --- a/parley/src/analysis/cluster.rs +++ b/parley/src/analysis/cluster.rs @@ -2,9 +2,9 @@ // SPDX-License-Identifier: Apache-2.0 OR MIT use alloc::vec::Vec; -use icu_normalizer::properties::Decomposed; -use crate::analysis::AnalysisDataSources; +use icu_normalizer::properties::{CanonicalComposition, CanonicalDecomposition, Decomposed}; +use parley_data::Properties; /// The maximum number of characters in a single cluster. const MAX_CLUSTER_SIZE: usize = 32; @@ -116,12 +116,12 @@ impl CharCluster { } #[inline(always)] - fn contributes_to_shaping(ch: char, analysis_data_sources: &AnalysisDataSources) -> bool { - let props = analysis_data_sources.composite.properties(ch as u32); + fn contributes_to_shaping(ch: char) -> bool { + let props = Properties::get(ch); crate::analysis::contributes_to_shaping(props.general_category(), props.script()) } - fn decomposed(&mut self, analysis_data_sources: &AnalysisDataSources) -> Option<&[Char]> { + fn decomposed(&mut self) -> Option<&[Char]> { match self.decomp.state { FormState::Invalid => None, FormState::None => { @@ -132,8 +132,7 @@ impl CharCluster { return None; } - let decomposer = analysis_data_sources.decomposing_normalizer(); - let decomp = decomposer.decompose(self.chars[0].ch); + let decomp = CanonicalDecomposition::new().decompose(self.chars[0].ch); match decomp { Decomposed::Default | Decomposed::Singleton(_) => { return None; @@ -141,13 +140,11 @@ impl CharCluster { Decomposed::Expansion(a, b) => { let mut copy = self.chars[0]; copy.ch = a; - copy.contributes_to_shaping = - Self::contributes_to_shaping(a, analysis_data_sources); + copy.contributes_to_shaping = Self::contributes_to_shaping(a); self.decomp.chars[0] = copy; copy.ch = b; - copy.contributes_to_shaping = - Self::contributes_to_shaping(b, analysis_data_sources); + copy.contributes_to_shaping = Self::contributes_to_shaping(b); self.decomp.chars[1] = copy; self.decomp.len = 2; @@ -162,7 +159,7 @@ impl CharCluster { } } - fn composed(&mut self, analysis_data_sources: &AnalysisDataSources) -> Option<&[Char]> { + fn composed(&mut self) -> Option<&[Char]> { match self.comp.state { FormState::Invalid => None, FormState::None => { @@ -173,15 +170,13 @@ impl CharCluster { return None; } - let composer = analysis_data_sources.composing_normalizer(); - let comp = composer.compose(self.chars[0].ch, self.chars[1].ch); + let comp = CanonicalComposition::new().compose(self.chars[0].ch, self.chars[1].ch); match comp { None => {} Some(ch) => { let mut copy = self.chars[0]; copy.ch = ch; - copy.contributes_to_shaping = - Self::contributes_to_shaping(ch, analysis_data_sources); + copy.contributes_to_shaping = Self::contributes_to_shaping(ch); self.comp.chars[0] = copy; self.comp.len = 1; } @@ -195,11 +190,7 @@ impl CharCluster { } } - pub(crate) fn map( - &mut self, - f: impl Fn(char) -> GlyphId, - analysis_data_sources: &AnalysisDataSources, - ) -> Status { + pub(crate) fn map(&mut self, f: impl Fn(char) -> GlyphId) -> Status { let len = self.len(); if len == 0 { return Status::Complete; @@ -207,7 +198,7 @@ impl CharCluster { let mut glyph_ids = [0_u16; MAX_CLUSTER_SIZE]; let prev_ratio = self.best_ratio; let mut ratio; - if self.force_normalize && self.composed(analysis_data_sources).is_some() { + if self.force_normalize && self.composed().is_some() { ratio = self.comp.map(&f, &mut glyph_ids, self.best_ratio); if ratio > self.best_ratio { self.best_ratio = ratio; @@ -229,7 +220,7 @@ impl CharCluster { return Status::Complete; } } - if self.decomposed(analysis_data_sources).is_some() { + if self.decomposed().is_some() { ratio = self.decomp.map(&f, &mut glyph_ids, self.best_ratio); if ratio > self.best_ratio { self.best_ratio = ratio; @@ -238,7 +229,7 @@ impl CharCluster { return Status::Complete; } } - if !self.force_normalize && self.composed(analysis_data_sources).is_some() { + if !self.force_normalize && self.composed().is_some() { ratio = self.comp.map(&f, &mut glyph_ids, self.best_ratio); if ratio > self.best_ratio { self.best_ratio = ratio; diff --git a/parley/src/analysis/mod.rs b/parley/src/analysis/mod.rs index 82a257b4..b7da7937 100644 --- a/parley/src/analysis/mod.rs +++ b/parley/src/analysis/mod.rs @@ -2,126 +2,18 @@ // SPDX-License-Identifier: Apache-2.0 OR MIT pub(crate) mod cluster; -mod provider; use alloc::vec::Vec; use core::marker::PhantomData; +use parley_data::Properties; -use crate::analysis::provider::PROVIDER; use crate::resolve::{RangedStyle, ResolvedStyle}; use crate::{Brush, LayoutContext, WordBreak}; -use icu_normalizer::properties::{ - CanonicalComposition, CanonicalCompositionBorrowed, CanonicalDecomposition, - CanonicalDecompositionBorrowed, -}; +use icu_properties::CodePointMapData; use icu_properties::props::{BidiMirroringGlyph, GeneralCategory, GraphemeClusterBreak, Script}; -use icu_properties::{ - CodePointMapData, CodePointMapDataBorrowed, PropertyNamesShort, PropertyNamesShortBorrowed, -}; -use icu_segmenter::options::{LineBreakOptions, LineBreakWordOption, WordBreakOptions}; -use icu_segmenter::{ - GraphemeClusterSegmenter, GraphemeClusterSegmenterBorrowed, LineSegmenter, - LineSegmenterBorrowed, WordSegmenter, WordSegmenterBorrowed, -}; -use parley_data::CompositeProps; - -pub(crate) struct AnalysisDataSources { - grapheme_segmenter: GraphemeClusterSegmenter, - word_segmenter: WordSegmenter, - line_segmenters: LineSegmenters, - composing_normalizer: CanonicalComposition, - decomposing_normalizer: CanonicalDecomposition, - script_short_name: PropertyNamesShort