emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master f70dfb74cc: Fix handling of some weights in the Haiku font driver


From: Po Lu
Subject: master f70dfb74cc: Fix handling of some weights in the Haiku font driver
Date: Mon, 2 May 2022 04:46:46 -0400 (EDT)

branch: master
commit f70dfb74ccab4adaf98f6436444b94162104076f
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Fix handling of some weights in the Haiku font driver
    
    * src/haiku_font_support.cc (font_style_to_flags):
    * src/haiku_support.h (enum haiku_font_weight):
    * src/haikufont.c (haikufont_weight_to_lisp)
    (haikufont_lisp_to_weight): Make `ultralight' and `extralight'
    mean the same thing.
---
 src/haiku_font_support.cc | 12 +++++-------
 src/haiku_support.h       |  2 --
 src/haikufont.c           |  8 ++------
 3 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/src/haiku_font_support.cc b/src/haiku_font_support.cc
index de55ad2001..1156f0bced 100644
--- a/src/haiku_font_support.cc
+++ b/src/haiku_font_support.cc
@@ -305,9 +305,8 @@ font_style_to_flags (char *st, struct haiku_font_pattern 
*pattern)
     {
       if (token && !strcmp (token, "Thin"))
        pattern->weight = HAIKU_THIN;
-      else if (token && !strcmp (token, "UltraLight"))
-       pattern->weight = HAIKU_ULTRALIGHT;
-      else if (token && !strcmp (token, "ExtraLight"))
+      else if (token && (!strcmp (token, "UltraLight")
+                        || !strcmp (token, "ExtraLight")))
        pattern->weight = HAIKU_EXTRALIGHT;
       else if (token && !strcmp (token, "Light"))
        pattern->weight = HAIKU_LIGHT;
@@ -330,12 +329,11 @@ font_style_to_flags (char *st, struct haiku_font_pattern 
*pattern)
        pattern->weight = HAIKU_SEMI_BOLD;
       else if (token && !strcmp (token, "Bold"))
        pattern->weight = HAIKU_BOLD;
-      else if (token && (!strcmp (token, "ExtraBold") ||
+      else if (token && (!strcmp (token, "ExtraBold")
                         /* This has actually been seen in the wild.  */
-                        !strcmp (token, "Extrabold")))
+                        || !strcmp (token, "Extrabold")
+                        || !strcmp (token, "UltraBold")))
        pattern->weight = HAIKU_EXTRA_BOLD;
-      else if (token && !strcmp (token, "UltraBold"))
-       pattern->weight = HAIKU_ULTRA_BOLD;
       else if (token && !strcmp (token, "Book"))
        pattern->weight = HAIKU_BOOK;
       else if (token && !strcmp (token, "Heavy"))
diff --git a/src/haiku_support.h b/src/haiku_support.h
index efce63b478..056063864e 100644
--- a/src/haiku_support.h
+++ b/src/haiku_support.h
@@ -290,7 +290,6 @@ enum haiku_font_weight
   {
     NO_WEIGHT        = -1,
     HAIKU_THIN       = 0,
-    HAIKU_ULTRALIGHT  = 20,
     HAIKU_EXTRALIGHT  = 40,
     HAIKU_LIGHT              = 50,
     HAIKU_SEMI_LIGHT  = 75,
@@ -298,7 +297,6 @@ enum haiku_font_weight
     HAIKU_SEMI_BOLD   = 180,
     HAIKU_BOLD       = 200,
     HAIKU_EXTRA_BOLD  = 205,
-    HAIKU_ULTRA_BOLD  = 210,
     HAIKU_BOOK       = 400,
     HAIKU_HEAVY              = 800,
     HAIKU_ULTRA_HEAVY = 900,
diff --git a/src/haikufont.c b/src/haikufont.c
index 3607012f6c..db2ba326e0 100644
--- a/src/haikufont.c
+++ b/src/haikufont.c
@@ -208,8 +208,6 @@ haikufont_weight_to_lisp (int weight)
     {
     case HAIKU_THIN:
       return Qthin;
-    case HAIKU_ULTRALIGHT:
-      return Qultra_light;
     case HAIKU_EXTRALIGHT:
       return Qextra_light;
     case HAIKU_LIGHT:
@@ -224,8 +222,6 @@ haikufont_weight_to_lisp (int weight)
       return Qbold;
     case HAIKU_EXTRA_BOLD:
       return Qextra_bold;
-    case HAIKU_ULTRA_BOLD:
-      return Qultra_bold;
     case HAIKU_BOOK:
       return Qbook;
     case HAIKU_HEAVY:
@@ -246,7 +242,7 @@ haikufont_lisp_to_weight (Lisp_Object weight)
   if (EQ (weight, Qthin))
     return HAIKU_THIN;
   if (EQ (weight, Qultra_light))
-    return HAIKU_ULTRALIGHT;
+    return HAIKU_EXTRALIGHT;
   if (EQ (weight, Qextra_light))
     return HAIKU_EXTRALIGHT;
   if (EQ (weight, Qlight))
@@ -262,7 +258,7 @@ haikufont_lisp_to_weight (Lisp_Object weight)
   if (EQ (weight, Qextra_bold))
     return HAIKU_EXTRA_BOLD;
   if (EQ (weight, Qultra_bold))
-    return HAIKU_ULTRA_BOLD;
+    return HAIKU_EXTRA_BOLD;
   if (EQ (weight, Qbook))
     return HAIKU_BOOK;
   if (EQ (weight, Qheavy))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]