浏览代码

LibGfx: Add support for fonts that include the Hebrew Unicode Block

Idan Horowitz 4 年之前
父节点
当前提交
f461ee7d01
共有 2 个文件被更改,包括 9 次插入0 次删除
  1. 8 0
      Userland/Libraries/LibGfx/BitmapFont.cpp
  2. 1 0
      Userland/Libraries/LibGfx/BitmapFont.h

+ 8 - 0
Userland/Libraries/LibGfx/BitmapFont.cpp

@@ -147,6 +147,8 @@ RefPtr<BitmapFont> BitmapFont::load_from_memory(const u8* data)
         type = FontTypes::LatinExtendedA;
         type = FontTypes::LatinExtendedA;
     else if (header.type == 2)
     else if (header.type == 2)
         type = FontTypes::Cyrillic;
         type = FontTypes::Cyrillic;
+    else if (header.type == 3)
+        type = FontTypes::Hebrew;
     else
     else
         VERIFY_NOT_REACHED();
         VERIFY_NOT_REACHED();
 
 
@@ -171,6 +173,9 @@ size_t BitmapFont::glyph_count_by_type(FontTypes type)
     if (type == FontTypes::Cyrillic)
     if (type == FontTypes::Cyrillic)
         return 1280;
         return 1280;
 
 
+    if (type == FontTypes::Hebrew)
+        return 1536;
+
     dbgln("Unknown font type: {}", (int)type);
     dbgln("Unknown font type: {}", (int)type);
     VERIFY_NOT_REACHED();
     VERIFY_NOT_REACHED();
 }
 }
@@ -186,6 +191,9 @@ String BitmapFont::type_name_by_type(FontTypes type)
     if (type == FontTypes::Cyrillic)
     if (type == FontTypes::Cyrillic)
         return "Cyrillic";
         return "Cyrillic";
 
 
+    if (type == FontTypes::Hebrew)
+        return "Hebrew";
+
     dbgln("Unknown font type: {}", (int)type);
     dbgln("Unknown font type: {}", (int)type);
     VERIFY_NOT_REACHED();
     VERIFY_NOT_REACHED();
 }
 }

+ 1 - 0
Userland/Libraries/LibGfx/BitmapFont.h

@@ -42,6 +42,7 @@ enum FontTypes {
     Default = 0,
     Default = 0,
     LatinExtendedA,
     LatinExtendedA,
     Cyrillic,
     Cyrillic,
+    Hebrew,
     __Count
     __Count
 };
 };