]> git.ipfire.org Git - thirdparty/google/fonts.git/commitdiff
Move to fontations crate
authorSimon Cozens <simon@simon-cozens.org>
Fri, 9 May 2025 15:37:22 +0000 (16:37 +0100)
committerSimon Cozens <simon@simon-cozens.org>
Fri, 9 May 2025 15:38:50 +0000 (16:38 +0100)
Cargo.lock
Cargo.toml
src/lib.rs
src/monkeypatching.rs
src/nametable.rs
src/stat.rs

index 3f0ef6304e2d70f5faf9c44cbbf6a87e2d461c3b..2f4d7c3dce2aad37115e25f2f6f09866ac6b29fb 100644 (file)
@@ -103,13 +103,25 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99"
 
 [[package]]
 name = "font-types"
-version = "0.8.4"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fa6a5e5a77b5f3f7f9e32879f484aa5b3632ddfbe568a16266c904a6f32cdaf"
+checksum = "02a596f5713680923a2080d86de50fe472fb290693cf0f701187a1c8b36996b7"
 dependencies = [
  "bytemuck",
 ]
 
+[[package]]
+name = "fontations"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "011db3cf1a28538f05bd7118555aec155a6295689ecba65f62da8d2cdf10fe83"
+dependencies = [
+ "font-types",
+ "read-fonts",
+ "skrifa",
+ "write-fonts",
+]
+
 [[package]]
 name = "getrandom"
 version = "0.3.2"
@@ -133,6 +145,7 @@ name = "google-fonts-axisregistry"
 version = "0.4.13"
 dependencies = [
  "bytes",
+ "fontations",
  "glob",
  "indexmap",
  "itertools 0.13.0",
@@ -147,9 +160,7 @@ dependencies = [
  "quote",
  "serde",
  "serde_json",
- "skrifa",
  "syn",
- "write-fonts",
 ]
 
 [[package]]
@@ -403,9 +414,9 @@ checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
 
 [[package]]
 name = "read-fonts"
-version = "0.28.0"
+version = "0.29.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "600e807b48ac55bad68a8cb75cc3c7739f139b9248f7e003e01e080f589b5288"
+checksum = "5ce8e2ca6b24313587a03ca61bb74c384e2a815bd90cf2866cfc9f5fb7a11fa0"
 dependencies = [
  "bytemuck",
  "font-types",
@@ -506,9 +517,9 @@ dependencies = [
 
 [[package]]
 name = "skrifa"
-version = "0.30.0"
+version = "0.31.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fa1e5622e4f7b98877e8a19890efddcac1230cec6198bd9de91ec0e00010dc8"
+checksum = "bbe6666ab11018ab91ff7b03f1a3b9fdbecfb610848436fefa5ce50343d3d913"
 dependencies = [
  "bytemuck",
  "read-fonts",
@@ -675,9 +686,9 @@ dependencies = [
 
 [[package]]
 name = "write-fonts"
-version = "0.37.0"
+version = "0.38.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "19b5dd9aad60a3be53ac918d46620ef2c2305e94bb3e86fe6297698390b0e9e0"
+checksum = "f441672abab9ac7d1c2fe559c0364559728914d7da369d76591e6153cf561fc7"
 dependencies = [
  "font-types",
  "indexmap",
index d1a2322233fc1a0367bcb811c83210522111ce9b..77bda824098a8ed3e35a1297cb39a199e5703d46 100644 (file)
@@ -8,15 +8,13 @@ license-file = "LICENSE.txt"
 
 [features]
 default = ["fontations"]
-fontations = ["dep:write-fonts", "dep:skrifa"]
 
 [dependencies]
 bytes = "1.7.1"
 prost = "0.13"
 serde = { version = "1.0", features = ["derive"] }
 serde_json = "1.0"
-write-fonts = { version = "0.37.0", optional = true, features = ["read"] }
-skrifa = { version = "0", optional = true }
+fontations = { version = "0.1.0", optional = true }
 indexmap = "2.7.0"
 
 [dev-dependencies]
index 59c94af36ba838eaab1c5b5bca1123169ee302aa..5d1906941b4ab06d68f6916c904913b74c60ea11 100644 (file)
@@ -1,13 +1,14 @@
 use std::{collections::HashSet, ops::Index};
 
-use indexmap::IndexMap;
-use skrifa::string::StringId;
 #[cfg(feature = "fontations")]
-use write_fonts::{
+use fontations::skrifa::string::StringId;
+#[cfg(feature = "fontations")]
+use fontations::{
     read::FontRef,
     read::{ReadError, TableProvider},
-    FontBuilder,
+    write::FontBuilder,
 };
+use indexmap::IndexMap;
 
 include!(concat!(env!("OUT_DIR"), "/_.rs"));
 include!(concat!(env!("OUT_DIR"), "/data.rs"));
@@ -222,16 +223,10 @@ mod nametable;
 #[cfg(feature = "fontations")]
 mod stat;
 #[cfg(feature = "fontations")]
-mod fontations {
+mod fontations_impl {
     use super::*;
-    use monkeypatching::{AxisValueNameId, SetAxisValueNameId};
-    use nametable::{
-        add_name, best_familyname, best_subfamilyname, find_or_add_name, rewrite_or_insert,
-    };
-    use skrifa::{string::StringId, MetadataProvider, Tag};
-    use stat::{AxisLocation, AxisRecord, AxisValue, StatBuilder};
-    use std::{cmp::Reverse, collections::HashMap};
-    use write_fonts::{
+    use fontations::skrifa::{string::StringId, MetadataProvider, Tag};
+    use fontations::write::{
         from_obj::ToOwnedTable,
         tables::{
             fvar::{Fvar, InstanceRecord},
@@ -241,6 +236,12 @@ mod fontations {
         },
         types::Fixed,
     };
+    use monkeypatching::{AxisValueNameId, SetAxisValueNameId};
+    use nametable::{
+        add_name, best_familyname, best_subfamilyname, find_or_add_name, rewrite_or_insert,
+    };
+    use stat::{AxisLocation, AxisRecord, AxisValue, StatBuilder};
+    use std::{cmp::Reverse, collections::HashMap};
 
     #[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
     pub enum RenameAggressiveness {
@@ -912,19 +913,19 @@ mod fontations {
 }
 
 #[cfg(feature = "fontations")]
-pub use fontations::*;
+pub use fontations_impl::*;
 
 #[cfg(test)]
 mod tests {
-    use pretty_assertions::assert_eq;
-    use skrifa::{string::StringId, MetadataProvider, Tag};
-    use write_fonts::{
+    use fontations::skrifa::{string::StringId, MetadataProvider, Tag};
+    use fontations::write::{
         from_obj::ToOwnedTable,
         tables::{
             name::Name,
             stat::{AxisValue, Stat},
         },
     };
+    use pretty_assertions::assert_eq;
 
     use super::*;
 
index 2c5b17eeda077874f86b4147168b54c8730b20d0..755b14c684dbd5707e5415e1d1d8bf83f971b50a 100644 (file)
@@ -1,7 +1,7 @@
 // STAT tables are *horrible*.
 
-use skrifa::string::StringId;
-use write_fonts::tables::stat::AxisValue as WriteAxisValue;
+use fontations::skrifa::string::StringId;
+use fontations::write::tables::stat::AxisValue as WriteAxisValue;
 
 pub(crate) trait AxisValueNameId {
     fn value_name_id(&self) -> Option<StringId>;
index 5e83bddab6682a58391e1908683bf0876c131ee3..ba6835ae46c774c4d5f8d97ea97210142156c679 100644 (file)
@@ -1,9 +1,8 @@
+/// Utility functions for name table handling.
 use std::collections::HashSet;
 
-use skrifa::{string::StringId, FontRef, MetadataProvider};
-use write_fonts::tables::name::NameRecord;
-
-/// Utility functions for name table handling.
+use fontations::skrifa::{string::StringId, FontRef, MetadataProvider};
+use fontations::write::tables::name::NameRecord;
 
 pub(crate) fn get_best_name(font: &FontRef, ids: &[StringId]) -> Option<String> {
     for id in ids {
index 8729c1cc3378dcefe4301a3b8cfa320dce4f2509..b6ff37be584b89695feaa9c461af171f27995904 100644 (file)
@@ -4,11 +4,11 @@
 // We're uninterested in anything other than 3/1/0x409, so we use Strings instead
 // of the more correct NameSpec.
 
-use std::collections::HashMap;
-use write_fonts::{
+use fontations::write::{
     tables::{name::NameRecord, stat as write_stat},
     types::{Fixed, NameId, Tag},
 };
+use std::collections::HashMap;
 
 use crate::nametable::find_or_add_name;