summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2014-07-25 18:24:32 -0400
committerBehdad Esfahbod <behdad@behdad.org>2014-07-25 18:24:32 -0400
commit6a1420c22bb1365bac94cc979053b558ba328796 (patch)
treecd6c7ec4d9a0349d8edf9f3aa99b1f7207b22592
parent9f221d657e98d2dff377420a02cd91c6411b9c5a (diff)
downloadpango-6a1420c22bb1365bac94cc979053b558ba328796.tar.gz
Add PANGO_WEIGHT_SEMILIGHT
Part of Bug 733764 - Support more / free font weights
-rw-r--r--pango/fonts.c2
-rw-r--r--pango/pango-font.h2
-rw-r--r--pango/pangofc-fontmap.c4
-rw-r--r--pango/pangofc-private.h6
4 files changed, 13 insertions, 1 deletions
diff --git a/pango/fonts.c b/pango/fonts.c
index 4a72d327..d92a9033 100644
--- a/pango/fonts.c
+++ b/pango/fonts.c
@@ -871,6 +871,8 @@ static const FieldMap weight_map[] = {
{ PANGO_WEIGHT_ULTRALIGHT, "Ultra-Light" },
{ PANGO_WEIGHT_ULTRALIGHT, "Extra-Light" },
{ PANGO_WEIGHT_LIGHT, "Light" },
+ { PANGO_WEIGHT_SEMILIGHT, "Semi-Light" },
+ { PANGO_WEIGHT_SEMILIGHT, "Demi-Light" },
{ PANGO_WEIGHT_BOOK, "Book" },
{ PANGO_WEIGHT_NORMAL, "" },
{ PANGO_WEIGHT_NORMAL, "Regular" },
diff --git a/pango/pango-font.h b/pango/pango-font.h
index cd306f11..45b04471 100644
--- a/pango/pango-font.h
+++ b/pango/pango-font.h
@@ -81,6 +81,7 @@ typedef enum {
* @PANGO_WEIGHT_THIN: the thin weight (= 100; Since: 1.24)
* @PANGO_WEIGHT_ULTRALIGHT: the ultralight weight (= 200)
* @PANGO_WEIGHT_LIGHT: the light weight (= 300)
+ * @PANGO_WEIGHT_SEMILIGHT: the semilight weight (= 350; Since: 1.36.7)
* @PANGO_WEIGHT_BOOK: the book weight (= 380; Since: 1.24)
* @PANGO_WEIGHT_NORMAL: the default weight (= 400)
* @PANGO_WEIGHT_MEDIUM: the normal weight (= 500; Since: 1.24)
@@ -97,6 +98,7 @@ typedef enum {
PANGO_WEIGHT_THIN = 100,
PANGO_WEIGHT_ULTRALIGHT = 200,
PANGO_WEIGHT_LIGHT = 300,
+ PANGO_WEIGHT_SEMILIGHT = 350,
PANGO_WEIGHT_BOOK = 380,
PANGO_WEIGHT_NORMAL = 400,
PANGO_WEIGHT_MEDIUM = 500,
diff --git a/pango/pangofc-fontmap.c b/pango/pangofc-fontmap.c
index a4053f71..06ddca0d 100644
--- a/pango/pangofc-fontmap.c
+++ b/pango/pangofc-fontmap.c
@@ -2063,7 +2063,9 @@ pango_fc_convert_weight_to_pango (int fc_weight)
return PANGO_WEIGHT_THIN;
else if (fc_weight <= (FC_WEIGHT_EXTRALIGHT + FC_WEIGHT_LIGHT) / 2)
return PANGO_WEIGHT_ULTRALIGHT;
- else if (fc_weight <= (FC_WEIGHT_LIGHT + FC_WEIGHT_BOOK) / 2)
+ else if (fc_weight <= (FC_WEIGHT_LIGHT + FC_WEIGHT_DEMILIGHT) / 2)
+ return PANGO_WEIGHT_SEMILIGHT;
+ else if (fc_weight <= (FC_WEIGHT_DEMILIGHT + FC_WEIGHT_BOOK) / 2)
return PANGO_WEIGHT_LIGHT;
else if (fc_weight <= (FC_WEIGHT_BOOK + FC_WEIGHT_REGULAR) / 2)
return PANGO_WEIGHT_BOOK;
diff --git a/pango/pangofc-private.h b/pango/pangofc-private.h
index 7945962e..32045670 100644
--- a/pango/pangofc-private.h
+++ b/pango/pangofc-private.h
@@ -28,6 +28,12 @@
G_BEGIN_DECLS
+#ifndef FC_WEIGHT_DEMILIGHT
+#define FC_WEIGHT_DEMILIGHT 55
+#define FC_WEIGHT_SEMILIGHT FC_WEIGHT_DEMILIGHT
+#endif
+
+
typedef struct _PangoFcMetricsInfo PangoFcMetricsInfo;
struct _PangoFcMetricsInfo