fontconfig: Branch 'main' - 3 commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed May 7 05:41:58 UTC 2025
fc-fontations/foundries.rs | 4 ++--
fc-fontations/mod.rs | 18 +++++++++++++++---
fc-fontations/pattern_bindings/mod.rs | 6 ++++++
test/test_fontations_ft_query.py | 1 +
4 files changed, 24 insertions(+), 5 deletions(-)
New commits:
commit 2fdcfb46c5cfb3d7e534f73b3b417a68df4560a4
Merge: 86fd90c 91086d5
Author: Akira TAGOH <akira at tagoh.org>
Date: Wed May 7 05:41:54 2025 +0000
Merge branch 'version' into 'main'
[Fontations] Add support for "version" pattern element
See merge request fontconfig/fontconfig!395
commit 91086d5b9a1a4a8d77f768b93b2cac8c83749714
Author: Dominik Röttsches <drott at chromium.org>
Date: Mon May 5 12:23:52 2025 +0300
[Fontations] Clippy fix for foundries mapping
diff --git a/fc-fontations/foundries.rs b/fc-fontations/foundries.rs
index d416d9f..ad60647 100644
--- a/fc-fontations/foundries.rs
+++ b/fc-fontations/foundries.rs
@@ -63,7 +63,7 @@ pub fn make_foundry(font: &FontRef) -> Option<CString> {
return CString::new(os2.ach_vend_id().to_be_bytes()).ok();
}
- return map_foundry_from_name_entry(&mut font.localized_strings(StringId::TRADEMARK)).or_else(
+ map_foundry_from_name_entry(&mut font.localized_strings(StringId::TRADEMARK)).or_else(
|| map_foundry_from_name_entry(&mut font.localized_strings(StringId::MANUFACTURER)),
- );
+ )
}
commit d6ec5911c3e6e123238f797848cb58f290e3a266
Author: Dominik Röttsches <drott at chromium.org>
Date: Fri Apr 25 16:01:41 2025 +0300
[Fontations] Add support for "version" pattern element
Parse version from head table.
diff --git a/fc-fontations/mod.rs b/fc-fontations/mod.rs
index 272b8d3..26754ff 100644
--- a/fc-fontations/mod.rs
+++ b/fc-fontations/mod.rs
@@ -22,17 +22,17 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
+mod foundries;
mod names;
mod pattern_bindings;
-mod foundries;
use foundries::make_foundry;
use names::add_names;
use fc_fontations_bindgen::{
fcint::{
- FC_COLOR_OBJECT, FC_FONTFORMAT_OBJECT, FC_FONT_HAS_HINT_OBJECT, FC_FOUNDRY_OBJECT,
- FC_OUTLINE_OBJECT, FC_SCALABLE_OBJECT,
+ FC_COLOR_OBJECT, FC_FONTFORMAT_OBJECT, FC_FONTVERSION_OBJECT, FC_FONT_HAS_HINT_OBJECT,
+ FC_FOUNDRY_OBJECT, FC_OUTLINE_OBJECT, FC_SCALABLE_OBJECT,
},
FcFontSet, FcFontSetAdd, FcPattern,
};
@@ -188,6 +188,18 @@ fn build_patterns_for_font(
foundry_string.into(),
));
+ let version = font
+ .head()
+ .ok()
+ .map(|head| head.font_revision())
+ .unwrap_or_default()
+ .to_bits();
+
+ pattern.append_element(PatternElement::new(
+ FC_FONTVERSION_OBJECT as i32,
+ version.into(),
+ ));
+
pattern
.create_fc_pattern()
.map(|p| p.into_raw() as *mut FcPattern)
diff --git a/fc-fontations/pattern_bindings/mod.rs b/fc-fontations/pattern_bindings/mod.rs
index 623b8bb..29359e9 100644
--- a/fc-fontations/pattern_bindings/mod.rs
+++ b/fc-fontations/pattern_bindings/mod.rs
@@ -61,6 +61,12 @@ impl From<bool> for PatternValue {
}
}
+impl From<i32> for PatternValue {
+ fn from(item: i32) -> Self {
+ PatternValue::Integer(item)
+ }
+}
+
#[derive(Debug)]
pub struct PatternElement {
object_id: i32,
diff --git a/test/test_fontations_ft_query.py b/test/test_fontations_ft_query.py
index 706b564..c08b16e 100644
--- a/test/test_fontations_ft_query.py
+++ b/test/test_fontations_ft_query.py
@@ -61,6 +61,7 @@ def test_fontations_freetype_fcquery_equal(font_file):
"color",
"fonthashint",
"foundry",
+ "version",
]
format_string = ":".join(
"%{" + entity + "}" for entity in supported_format_entitites
More information about the Fontconfig
mailing list