In FcSubstituteDefault(), handle size range
Takes the midpoint...
diff --git a/src/fcdefault.c b/src/fcdefault.c
index 5afd7ec..10c183a 100644
--- a/src/fcdefault.c
+++ b/src/fcdefault.c
@@ -255,7 +255,14 @@
FcPatternObjectAddBool (pattern, FcBoolDefaults[i].field, FcBoolDefaults[i].value);
if (FcPatternObjectGetDouble (pattern, FC_SIZE_OBJECT, 0, &size) != FcResultMatch)
- size = 12.0L;
+ {
+ FcRange *r;
+ double b, e;
+ if (FcPatternObjectGetRange (pattern, FC_SIZE_OBJECT, 0, &r) == FcResultMatch && FcRangeGetDouble (r, &b, &e))
+ size = (b + e) * .5;
+ else
+ size = 12.0L;
+ }
if (FcPatternObjectGetDouble (pattern, FC_SCALE_OBJECT, 0, &scale) != FcResultMatch)
scale = 1.0;
if (FcPatternObjectGetDouble (pattern, FC_DPI_OBJECT, 0, &dpi) != FcResultMatch)