mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 15:12:45 +00:00 
			
		
		
		
	LibGfx: Convert Font APIs to return String instead of DeprecatedString
This commit is contained in:
		
							parent
							
								
									4e9dc127ae
								
							
						
					
					
						commit
						545d8336b8
					
				
					 29 changed files with 106 additions and 104 deletions
				
			
		|  | @ -87,7 +87,7 @@ void FontPlugin::update_generic_fonts() | ||||||
|                 gfx_font = Gfx::FontDatabase::default_font(); |                 gfx_font = Gfx::FontDatabase::default_font(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         m_generic_font_names[static_cast<size_t>(generic_font)] = gfx_font->family(); |         m_generic_font_names[static_cast<size_t>(generic_font)] = gfx_font->family().to_deprecated_string(); | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     // Fallback fonts to look for if Gfx::Font can't load expected font
 |     // Fallback fonts to look for if Gfx::Font can't load expected font
 | ||||||
|  |  | ||||||
|  | @ -25,14 +25,14 @@ TEST_CASE(test_fontdatabase_get_by_name) | ||||||
| 
 | 
 | ||||||
|     auto name = "Family 12 400 0"sv; |     auto name = "Family 12 400 0"sv; | ||||||
|     auto& font_database = Gfx::FontDatabase::the(); |     auto& font_database = Gfx::FontDatabase::the(); | ||||||
|     EXPECT(!font_database.get_by_name(name)->name().is_null()); |     EXPECT(!font_database.get_by_name(name)->name().is_empty()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| TEST_CASE(test_fontdatabase_get) | TEST_CASE(test_fontdatabase_get) | ||||||
| { | { | ||||||
|     Gfx::FontDatabase::set_default_fonts_lookup_path(TEST_INPUT("")); |     Gfx::FontDatabase::set_default_fonts_lookup_path(TEST_INPUT("")); | ||||||
|     auto& font_database = Gfx::FontDatabase::the(); |     auto& font_database = Gfx::FontDatabase::the(); | ||||||
|     EXPECT(!font_database.get("Family", 12, 400, Gfx::FontWidth::Normal, 0)->name().is_null()); |     EXPECT(!font_database.get("Family", 12, 400, Gfx::FontWidth::Normal, 0)->name().is_empty()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| TEST_CASE(test_fontdatabase_for_each_font) | TEST_CASE(test_fontdatabase_for_each_font) | ||||||
|  | @ -41,9 +41,9 @@ TEST_CASE(test_fontdatabase_for_each_font) | ||||||
| 
 | 
 | ||||||
|     auto& font_database = Gfx::FontDatabase::the(); |     auto& font_database = Gfx::FontDatabase::the(); | ||||||
|     font_database.for_each_font([&](Gfx::Font const& font) { |     font_database.for_each_font([&](Gfx::Font const& font) { | ||||||
|         EXPECT(!font.name().is_null()); |         EXPECT(!font.name().is_empty()); | ||||||
|         EXPECT(!font.qualified_name().is_null()); |         EXPECT(!font.qualified_name().is_empty()); | ||||||
|         EXPECT(!font.family().is_null()); |         EXPECT(!font.family().is_empty()); | ||||||
|         EXPECT(font.glyph_count() > 0); |         EXPECT(font.glyph_count() > 0); | ||||||
|     }); |     }); | ||||||
| } | } | ||||||
|  | @ -55,9 +55,9 @@ TEST_CASE(test_clone) | ||||||
|     auto font = Gfx::BitmapFont::create(glyph_height, glyph_width, true, 256); |     auto font = Gfx::BitmapFont::create(glyph_height, glyph_width, true, 256); | ||||||
| 
 | 
 | ||||||
|     auto new_font = font->clone(); |     auto new_font = font->clone(); | ||||||
|     EXPECT(!new_font->name().is_null()); |     EXPECT(!new_font->name().is_empty()); | ||||||
|     EXPECT(!new_font->qualified_name().is_null()); |     EXPECT(!new_font->qualified_name().is_empty()); | ||||||
|     EXPECT(!new_font->family().is_null()); |     EXPECT(!new_font->family().is_empty()); | ||||||
|     EXPECT(new_font->glyph_count() > 0); |     EXPECT(new_font->glyph_count() > 0); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -67,10 +67,10 @@ TEST_CASE(test_set_name) | ||||||
|     u8 glyph_width = 1; |     u8 glyph_width = 1; | ||||||
|     auto font = Gfx::BitmapFont::create(glyph_height, glyph_width, true, 256); |     auto font = Gfx::BitmapFont::create(glyph_height, glyph_width, true, 256); | ||||||
| 
 | 
 | ||||||
|     auto name = "my newly created font"sv; |     auto name = "my newly created font"_string; | ||||||
|     font->set_name(name); |     font->set_name(name); | ||||||
| 
 | 
 | ||||||
|     EXPECT(!font->name().is_null()); |     EXPECT(!font->name().is_empty()); | ||||||
|     EXPECT(font->name().contains(name)); |     EXPECT(font->name().contains(name)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -80,10 +80,10 @@ TEST_CASE(test_set_family) | ||||||
|     u8 glyph_width = 1; |     u8 glyph_width = 1; | ||||||
|     auto font = Gfx::BitmapFont::create(glyph_height, glyph_width, true, 256); |     auto font = Gfx::BitmapFont::create(glyph_height, glyph_width, true, 256); | ||||||
| 
 | 
 | ||||||
|     auto family = "my newly created font family"sv; |     auto family = "my newly created font family"_string; | ||||||
|     font->set_family(family); |     font->set_family(family); | ||||||
| 
 | 
 | ||||||
|     EXPECT(!font->family().is_null()); |     EXPECT(!font->family().is_empty()); | ||||||
|     EXPECT(font->family().contains(family)); |     EXPECT(font->family().contains(family)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -135,7 +135,7 @@ TEST_CASE(test_glyph_or_emoji_width) | ||||||
| TEST_CASE(test_load_from_file) | TEST_CASE(test_load_from_file) | ||||||
| { | { | ||||||
|     auto font = Gfx::BitmapFont::load_from_file(TEST_INPUT("TestFont.font"sv)); |     auto font = Gfx::BitmapFont::load_from_file(TEST_INPUT("TestFont.font"sv)); | ||||||
|     EXPECT(!font->name().is_null()); |     EXPECT(!font->name().is_empty()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| TEST_CASE(test_write_to_file) | TEST_CASE(test_write_to_file) | ||||||
|  |  | ||||||
|  | @ -176,7 +176,7 @@ ErrorOr<void> CharacterMapWidget::initialize_menubar(GUI::Window& window) | ||||||
| void CharacterMapWidget::did_change_font() | void CharacterMapWidget::did_change_font() | ||||||
| { | { | ||||||
|     m_glyph_map->set_font(font()); |     m_glyph_map->set_font(font()); | ||||||
|     m_font_name_label->set_text(String::from_deprecated_string(font().human_readable_name()).release_value_but_fixme_should_propagate_errors()); |     m_font_name_label->set_text(font().human_readable_name()); | ||||||
|     m_output_box->set_font(font()); |     m_output_box->set_font(font()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -72,16 +72,16 @@ ErrorOr<void> FontSettingsWidget::setup_interface() | ||||||
| 
 | 
 | ||||||
| static void update_label_with_font(GUI::Label& label, Gfx::Font const& font) | static void update_label_with_font(GUI::Label& label, Gfx::Font const& font) | ||||||
| { | { | ||||||
|     label.set_text(String::from_deprecated_string(font.human_readable_name()).release_value_but_fixme_should_propagate_errors()); |     label.set_text(font.human_readable_name()); | ||||||
|     label.set_font(font); |     label.set_font(font); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void FontSettingsWidget::apply_settings() | void FontSettingsWidget::apply_settings() | ||||||
| { | { | ||||||
|     GUI::ConnectionToWindowServer::the().set_system_fonts( |     GUI::ConnectionToWindowServer::the().set_system_fonts( | ||||||
|         m_default_font_label->font().qualified_name(), |         m_default_font_label->font().qualified_name().to_deprecated_string(), | ||||||
|         m_fixed_width_font_label->font().qualified_name(), |         m_fixed_width_font_label->font().qualified_name().to_deprecated_string(), | ||||||
|         m_window_title_font_label->font().qualified_name()); |         m_window_title_font_label->font().qualified_name().to_deprecated_string()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -321,14 +321,14 @@ static ErrorOr<FontInfo> load_font(StringView path, StringView mime_type, Nonnul | ||||||
| { | { | ||||||
|     if (path.ends_with(".font"sv)) { |     if (path.ends_with(".font"sv)) { | ||||||
|         auto font = TRY(Gfx::BitmapFont::try_load_from_mapped_file(mapped_file)); |         auto font = TRY(Gfx::BitmapFont::try_load_from_mapped_file(mapped_file)); | ||||||
|         auto typeface = TRY(try_make_ref_counted<Gfx::Typeface>(font->family(), font->variant())); |         auto typeface = TRY(try_make_ref_counted<Gfx::Typeface>(font->family().to_deprecated_string(), font->variant().to_deprecated_string())); | ||||||
|         typeface->add_bitmap_font(move(font)); |         typeface->add_bitmap_font(move(font)); | ||||||
|         return FontInfo { FontInfo::Format::BitmapFont, move(typeface) }; |         return FontInfo { FontInfo::Format::BitmapFont, move(typeface) }; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (mime_type == "font/otf" || mime_type == "font/ttf") { |     if (mime_type == "font/otf" || mime_type == "font/ttf") { | ||||||
|         auto font = TRY(OpenType::Font::try_load_from_externally_owned_memory(mapped_file->bytes())); |         auto font = TRY(OpenType::Font::try_load_from_externally_owned_memory(mapped_file->bytes())); | ||||||
|         auto typeface = TRY(try_make_ref_counted<Gfx::Typeface>(font->family(), font->variant())); |         auto typeface = TRY(try_make_ref_counted<Gfx::Typeface>(font->family().to_deprecated_string(), font->variant().to_deprecated_string())); | ||||||
|         typeface->set_vector_font(move(font)); |         typeface->set_vector_font(move(font)); | ||||||
|         return FontInfo { |         return FontInfo { | ||||||
|             mime_type == "font/otf" ? FontInfo::Format::OpenType : FontInfo::Format::TrueType, |             mime_type == "font/otf" ? FontInfo::Format::OpenType : FontInfo::Format::TrueType, | ||||||
|  | @ -338,7 +338,7 @@ static ErrorOr<FontInfo> load_font(StringView path, StringView mime_type, Nonnul | ||||||
| 
 | 
 | ||||||
|     if (mime_type == "font/woff" || mime_type == "font/woff2") { |     if (mime_type == "font/woff" || mime_type == "font/woff2") { | ||||||
|         auto font = TRY(WOFF::Font::try_load_from_externally_owned_memory(mapped_file->bytes())); |         auto font = TRY(WOFF::Font::try_load_from_externally_owned_memory(mapped_file->bytes())); | ||||||
|         auto typeface = TRY(try_make_ref_counted<Gfx::Typeface>(font->family(), font->variant())); |         auto typeface = TRY(try_make_ref_counted<Gfx::Typeface>(font->family().to_deprecated_string(), font->variant().to_deprecated_string())); | ||||||
|         typeface->set_vector_font(move(font)); |         typeface->set_vector_font(move(font)); | ||||||
|         return FontInfo { |         return FontInfo { | ||||||
|             mime_type == "font/woff" ? FontInfo::Format::WOFF : FontInfo::Format::WOFF2, |             mime_type == "font/woff" ? FontInfo::Format::WOFF : FontInfo::Format::WOFF2, | ||||||
|  |  | ||||||
|  | @ -532,13 +532,13 @@ ErrorOr<void> MainWidget::create_widgets() | ||||||
| 
 | 
 | ||||||
|     m_name_textbox = find_descendant_of_type_named<GUI::TextBox>("name_textbox"); |     m_name_textbox = find_descendant_of_type_named<GUI::TextBox>("name_textbox"); | ||||||
|     m_name_textbox->on_change = [this] { |     m_name_textbox->on_change = [this] { | ||||||
|         m_font->set_name(m_name_textbox->text()); |         m_font->set_name(MUST(String::from_deprecated_string(m_name_textbox->text()))); | ||||||
|         did_modify_font(); |         did_modify_font(); | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     m_family_textbox = find_descendant_of_type_named<GUI::TextBox>("family_textbox"); |     m_family_textbox = find_descendant_of_type_named<GUI::TextBox>("family_textbox"); | ||||||
|     m_family_textbox->on_change = [this] { |     m_family_textbox->on_change = [this] { | ||||||
|         m_font->set_family(m_family_textbox->text()); |         m_font->set_family(MUST(String::from_deprecated_string(m_family_textbox->text()))); | ||||||
|         did_modify_font(); |         did_modify_font(); | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -218,8 +218,8 @@ NewFontDialog::NewFontDialog(GUI::Window* parent_window) | ||||||
| 
 | 
 | ||||||
| void NewFontDialog::save_metadata() | void NewFontDialog::save_metadata() | ||||||
| { | { | ||||||
|     m_new_font_metadata.name = m_name_textbox->text(); |     m_new_font_metadata.name = MUST(String::from_deprecated_string(m_name_textbox->text())); | ||||||
|     m_new_font_metadata.family = m_family_textbox->text(); |     m_new_font_metadata.family = MUST(String::from_deprecated_string(m_family_textbox->text())); | ||||||
|     m_new_font_metadata.weight = Gfx::name_to_weight(m_weight_combobox->text()); |     m_new_font_metadata.weight = Gfx::name_to_weight(m_weight_combobox->text()); | ||||||
|     m_new_font_metadata.slope = Gfx::name_to_slope(m_slope_combobox->text()); |     m_new_font_metadata.slope = Gfx::name_to_slope(m_slope_combobox->text()); | ||||||
|     m_new_font_metadata.presentation_size = m_presentation_spinbox->value(); |     m_new_font_metadata.presentation_size = m_presentation_spinbox->value(); | ||||||
|  |  | ||||||
|  | @ -35,8 +35,8 @@ private: | ||||||
|         u8 presentation_size; |         u8 presentation_size; | ||||||
|         u16 weight; |         u16 weight; | ||||||
|         u8 slope; |         u8 slope; | ||||||
|         DeprecatedString name; |         String name; | ||||||
|         DeprecatedString family; |         String family; | ||||||
|         bool is_fixed_width; |         bool is_fixed_width; | ||||||
|     } m_new_font_metadata; |     } m_new_font_metadata; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -114,13 +114,13 @@ ErrorOr<GUI::Widget*> TextTool::get_properties_widget() | ||||||
|     auto font_header = TRY(properties_widget->try_add<GUI::Label>("Current Font:"_string)); |     auto font_header = TRY(properties_widget->try_add<GUI::Label>("Current Font:"_string)); | ||||||
|     font_header->set_text_alignment(Gfx::TextAlignment::CenterLeft); |     font_header->set_text_alignment(Gfx::TextAlignment::CenterLeft); | ||||||
| 
 | 
 | ||||||
|     m_font_label = TRY(properties_widget->try_add<GUI::Label>(TRY(String::from_deprecated_string(m_selected_font->human_readable_name())))); |     m_font_label = TRY(properties_widget->try_add<GUI::Label>(m_selected_font->human_readable_name())); | ||||||
| 
 | 
 | ||||||
|     auto change_font_button = TRY(properties_widget->try_add<GUI::Button>("Change Font..."_string)); |     auto change_font_button = TRY(properties_widget->try_add<GUI::Button>("Change Font..."_string)); | ||||||
|     change_font_button->on_click = [this](auto) { |     change_font_button->on_click = [this](auto) { | ||||||
|         auto picker = GUI::FontPicker::construct(nullptr, m_selected_font, false); |         auto picker = GUI::FontPicker::construct(nullptr, m_selected_font, false); | ||||||
|         if (picker->exec() == GUI::Dialog::ExecResult::OK) { |         if (picker->exec() == GUI::Dialog::ExecResult::OK) { | ||||||
|             m_font_label->set_text(String::from_deprecated_string(picker->font()->human_readable_name()).release_value_but_fixme_should_propagate_errors()); |             m_font_label->set_text(picker->font()->human_readable_name()); | ||||||
|             m_selected_font = picker->font(); |             m_selected_font = picker->font(); | ||||||
|             m_text_editor->set_font(m_selected_font); |             m_text_editor->set_font(m_selected_font); | ||||||
|             m_editor->set_focus(true); |             m_editor->set_focus(true); | ||||||
|  |  | ||||||
|  | @ -403,7 +403,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments) | ||||||
|     auto adjust_font_size = [&](float adjustment) { |     auto adjust_font_size = [&](float adjustment) { | ||||||
|         auto& font = terminal->font(); |         auto& font = terminal->font(); | ||||||
|         auto new_size = max(5, font.presentation_size() + adjustment); |         auto new_size = max(5, font.presentation_size() + adjustment); | ||||||
|         if (auto new_font = Gfx::FontDatabase::the().get(font.family(), new_size, font.weight(), font.width(), font.slope())) { |         if (auto new_font = Gfx::FontDatabase::the().get(font.family().to_deprecated_string(), new_size, font.weight(), font.width(), font.slope())) { | ||||||
|             terminal->set_font_and_resize_to_fit(*new_font); |             terminal->set_font_and_resize_to_fit(*new_font); | ||||||
|             terminal->apply_size_increments_to_window(*window); |             terminal->apply_size_increments_to_window(*window); | ||||||
|             window->resize(terminal->size()); |             window->resize(terminal->size()); | ||||||
|  |  | ||||||
|  | @ -116,13 +116,13 @@ ErrorOr<void> TerminalSettingsViewWidget::setup() | ||||||
|     else |     else | ||||||
|         m_font = Gfx::FontDatabase::the().get_by_name(font_name); |         m_font = Gfx::FontDatabase::the().get_by_name(font_name); | ||||||
|     m_original_font = m_font; |     m_original_font = m_font; | ||||||
|     font_text.set_text(TRY(String::from_deprecated_string(m_font->human_readable_name()))); |     font_text.set_text(m_font->human_readable_name()); | ||||||
|     font_text.set_font(m_font); |     font_text.set_font(m_font); | ||||||
|     font_button.on_click = [&](auto) { |     font_button.on_click = [&](auto) { | ||||||
|         auto picker = GUI::FontPicker::construct(window(), m_font.ptr(), true); |         auto picker = GUI::FontPicker::construct(window(), m_font.ptr(), true); | ||||||
|         if (picker->exec() == GUI::Dialog::ExecResult::OK) { |         if (picker->exec() == GUI::Dialog::ExecResult::OK) { | ||||||
|             m_font = picker->font(); |             m_font = picker->font(); | ||||||
|             font_text.set_text(String::from_deprecated_string(m_font->human_readable_name()).release_value_but_fixme_should_propagate_errors()); |             font_text.set_text(m_font->human_readable_name()); | ||||||
|             font_text.set_font(m_font); |             font_text.set_font(m_font); | ||||||
|             Config::write_string("Terminal"sv, "Text"sv, "Font"sv, m_font->qualified_name()); |             Config::write_string("Terminal"sv, "Text"sv, "Font"sv, m_font->qualified_name()); | ||||||
|             set_modified(true); |             set_modified(true); | ||||||
|  | @ -135,7 +135,7 @@ ErrorOr<void> TerminalSettingsViewWidget::setup() | ||||||
|         if (use_default_font) { |         if (use_default_font) { | ||||||
|             font_selection.set_enabled(false); |             font_selection.set_enabled(false); | ||||||
|             m_font = Gfx::FontDatabase::the().default_fixed_width_font(); |             m_font = Gfx::FontDatabase::the().default_fixed_width_font(); | ||||||
|             font_text.set_text(String::from_deprecated_string(m_font->human_readable_name()).release_value_but_fixme_should_propagate_errors()); |             font_text.set_text(m_font->human_readable_name()); | ||||||
|             font_text.set_font(m_font); |             font_text.set_font(m_font); | ||||||
|             Config::write_string("Terminal"sv, "Text"sv, "Font"sv, m_font->qualified_name()); |             Config::write_string("Terminal"sv, "Text"sv, "Font"sv, m_font->qualified_name()); | ||||||
|         } else { |         } else { | ||||||
|  |  | ||||||
|  | @ -53,7 +53,7 @@ void BoardView::pick_font() | ||||||
|             return; |             return; | ||||||
|         auto size = font.pixel_size_rounded_up(); |         auto size = font.pixel_size_rounded_up(); | ||||||
|         if (size * 2 <= m_cell_size && size > best_font_size) { |         if (size * 2 <= m_cell_size && size > best_font_size) { | ||||||
|             best_font_name = String::from_deprecated_string(font.qualified_name()).release_value_but_fixme_should_propagate_errors(); |             best_font_name = font.qualified_name(); | ||||||
|             best_font_size = size; |             best_font_size = size; | ||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|  | @ -63,7 +63,7 @@ void WordGame::pick_font() | ||||||
|             return; |             return; | ||||||
|         auto size = font.pixel_size_rounded_up(); |         auto size = font.pixel_size_rounded_up(); | ||||||
|         if (size * 2 <= m_letter_height && size > best_font_size) { |         if (size * 2 <= m_letter_height && size > best_font_size) { | ||||||
|             best_font_name = font.qualified_name(); |             best_font_name = font.qualified_name().to_deprecated_string(); | ||||||
|             best_font_size = size; |             best_font_size = size; | ||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|  | @ -190,15 +190,15 @@ void FontPicker::set_font(Gfx::Font const* font) | ||||||
|         return; |         return; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     m_family = font->family(); |     m_family = font->family().to_deprecated_string(); | ||||||
|     m_variant = font->variant(); |     m_variant = font->variant().to_deprecated_string(); | ||||||
|     m_size = font->presentation_size(); |     m_size = font->presentation_size(); | ||||||
| 
 | 
 | ||||||
|     auto family_index = m_families.find_first_index(m_font->family()); |     auto family_index = m_families.find_first_index(m_font->family().to_deprecated_string()); | ||||||
|     if (family_index.has_value()) |     if (family_index.has_value()) | ||||||
|         m_family_list_view->set_cursor(m_family_list_view->model()->index(family_index.value()), GUI::AbstractView::SelectionUpdate::Set); |         m_family_list_view->set_cursor(m_family_list_view->model()->index(family_index.value()), GUI::AbstractView::SelectionUpdate::Set); | ||||||
| 
 | 
 | ||||||
|     auto variant_index = m_variants.find_first_index(m_font->variant()); |     auto variant_index = m_variants.find_first_index(m_font->variant().to_deprecated_string()); | ||||||
|     if (variant_index.has_value()) |     if (variant_index.has_value()) | ||||||
|         m_variant_list_view->set_cursor(m_variant_list_view->model()->index(variant_index.value()), GUI::AbstractView::SelectionUpdate::Set); |         m_variant_list_view->set_cursor(m_variant_list_view->model()->index(variant_index.value()), GUI::AbstractView::SelectionUpdate::Set); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -826,20 +826,20 @@ void Widget::set_font_family(String const& family) | ||||||
| 
 | 
 | ||||||
| void Widget::set_font_size(unsigned size) | void Widget::set_font_size(unsigned size) | ||||||
| { | { | ||||||
|     set_font(Gfx::FontDatabase::the().get(m_font->family(), size, m_font->weight(), m_font->width(), m_font->slope())); |     set_font(Gfx::FontDatabase::the().get(m_font->family().to_deprecated_string(), size, m_font->weight(), m_font->width(), m_font->slope())); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void Widget::set_font_weight(unsigned weight) | void Widget::set_font_weight(unsigned weight) | ||||||
| { | { | ||||||
|     set_font(Gfx::FontDatabase::the().get(m_font->family(), m_font->presentation_size(), weight, m_font->width(), m_font->slope())); |     set_font(Gfx::FontDatabase::the().get(m_font->family().to_deprecated_string(), m_font->presentation_size(), weight, m_font->width(), m_font->slope())); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void Widget::set_font_fixed_width(bool fixed_width) | void Widget::set_font_fixed_width(bool fixed_width) | ||||||
| { | { | ||||||
|     if (fixed_width) |     if (fixed_width) | ||||||
|         set_font(Gfx::FontDatabase::the().get(Gfx::FontDatabase::the().default_fixed_width_font().family(), m_font->presentation_size(), m_font->weight(), m_font->width(), m_font->slope())); |         set_font(Gfx::FontDatabase::the().get(Gfx::FontDatabase::the().default_fixed_width_font().family().to_deprecated_string(), m_font->presentation_size(), m_font->weight(), m_font->width(), m_font->slope())); | ||||||
|     else |     else | ||||||
|         set_font(Gfx::FontDatabase::the().get(Gfx::FontDatabase::the().default_font().family(), m_font->presentation_size(), m_font->weight(), m_font->width(), m_font->slope())); |         set_font(Gfx::FontDatabase::the().get(Gfx::FontDatabase::the().default_font().family().to_deprecated_string(), m_font->presentation_size(), m_font->weight(), m_font->width(), m_font->slope())); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| bool Widget::is_font_fixed_width() | bool Widget::is_font_fixed_width() | ||||||
|  | @ -1272,7 +1272,7 @@ void Widget::add_spacer() | ||||||
| 
 | 
 | ||||||
| String Widget::font_family() const | String Widget::font_family() const | ||||||
| { | { | ||||||
|     return String::from_deprecated_string(m_font->family()).release_value_but_fixme_should_propagate_errors(); |     return m_font->family(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -85,7 +85,7 @@ ErrorOr<NonnullRefPtr<BitmapFont>> BitmapFont::try_create(u8 glyph_height, u8 gl | ||||||
|     auto* new_widths = static_cast<u8*>(calloc(glyph_count, 1)); |     auto* new_widths = static_cast<u8*>(calloc(glyph_count, 1)); | ||||||
|     if (!new_widths) |     if (!new_widths) | ||||||
|         return Error::from_errno(errno); |         return Error::from_errno(errno); | ||||||
|     return adopt_nonnull_ref_or_enomem(new (nothrow) BitmapFont("Untitled", "Untitled", new_rows, new_widths, fixed, glyph_width, glyph_height, 1, range_mask_size, new_range_mask, 0, 0, 0, 400, 0, true)); |     return adopt_nonnull_ref_or_enomem(new (nothrow) BitmapFont("Untitled"_string, "Untitled"_string, new_rows, new_widths, fixed, glyph_width, glyph_height, 1, range_mask_size, new_range_mask, 0, 0, 0, 400, 0, true)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| ErrorOr<NonnullRefPtr<BitmapFont>> BitmapFont::unmasked_character_set() const | ErrorOr<NonnullRefPtr<BitmapFont>> BitmapFont::unmasked_character_set() const | ||||||
|  | @ -148,7 +148,7 @@ ErrorOr<NonnullRefPtr<BitmapFont>> BitmapFont::masked_character_set() const | ||||||
|     return adopt_nonnull_ref_or_enomem(new (nothrow) BitmapFont(m_name, m_family, new_rows, new_widths, m_fixed_width, m_glyph_width, m_glyph_height, m_glyph_spacing, new_range_mask_size, new_range_mask, m_baseline, m_mean_line, m_presentation_size, m_weight, m_slope, true)); |     return adopt_nonnull_ref_or_enomem(new (nothrow) BitmapFont(m_name, m_family, new_rows, new_widths, m_fixed_width, m_glyph_width, m_glyph_height, m_glyph_spacing, new_range_mask_size, new_range_mask, m_baseline, m_mean_line, m_presentation_size, m_weight, m_slope, true)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| BitmapFont::BitmapFont(DeprecatedString name, DeprecatedString family, u8* rows, u8* widths, bool is_fixed_width, u8 glyph_width, u8 glyph_height, u8 glyph_spacing, u16 range_mask_size, u8* range_mask, u8 baseline, u8 mean_line, u8 presentation_size, u16 weight, u8 slope, bool owns_arrays) | BitmapFont::BitmapFont(String name, String family, u8* rows, u8* widths, bool is_fixed_width, u8 glyph_width, u8 glyph_height, u8 glyph_spacing, u16 range_mask_size, u8* range_mask, u8 baseline, u8 mean_line, u8 presentation_size, u16 weight, u8 slope, bool owns_arrays) | ||||||
|     : m_name(move(name)) |     : m_name(move(name)) | ||||||
|     , m_family(move(family)) |     , m_family(move(family)) | ||||||
|     , m_range_mask_size(range_mask_size) |     , m_range_mask_size(range_mask_size) | ||||||
|  | @ -223,7 +223,9 @@ ErrorOr<NonnullRefPtr<BitmapFont>> BitmapFont::load_from_memory(u8 const* data) | ||||||
|         glyph_count += 256 * popcount(range_mask[i]); |         glyph_count += 256 * popcount(range_mask[i]); | ||||||
|     u8* rows = range_mask + header.range_mask_size; |     u8* rows = range_mask + header.range_mask_size; | ||||||
|     u8* widths = (u8*)(rows) + glyph_count * bytes_per_glyph; |     u8* widths = (u8*)(rows) + glyph_count * bytes_per_glyph; | ||||||
|     return adopt_nonnull_ref_or_enomem(new (nothrow) BitmapFont(DeprecatedString(header.name), DeprecatedString(header.family), rows, widths, !header.is_variable_width, header.glyph_width, header.glyph_height, header.glyph_spacing, header.range_mask_size, range_mask, header.baseline, header.mean_line, header.presentation_size, header.weight, header.slope)); |     auto name = TRY(String::from_utf8(ReadonlyBytes { header.name, strlen(header.name) })); | ||||||
|  |     auto family = TRY(String::from_utf8(ReadonlyBytes { header.family, strlen(header.family) })); | ||||||
|  |     return adopt_nonnull_ref_or_enomem(new (nothrow) BitmapFont(move(name), move(family), rows, widths, !header.is_variable_width, header.glyph_width, header.glyph_height, header.glyph_spacing, header.range_mask_size, range_mask, header.baseline, header.mean_line, header.presentation_size, header.weight, header.slope)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| RefPtr<BitmapFont> BitmapFont::load_from_file(DeprecatedString const& path) | RefPtr<BitmapFont> BitmapFont::load_from_file(DeprecatedString const& path) | ||||||
|  | @ -267,8 +269,8 @@ ErrorOr<void> BitmapFont::write_to_file(NonnullOwnPtr<Core::File> file) | ||||||
|     header.presentation_size = m_presentation_size; |     header.presentation_size = m_presentation_size; | ||||||
|     header.weight = m_weight; |     header.weight = m_weight; | ||||||
|     header.slope = m_slope; |     header.slope = m_slope; | ||||||
|     memcpy(header.name, m_name.characters(), min(m_name.length(), sizeof(header.name) - 1)); |     memcpy(header.name, m_name.bytes().data(), min(m_name.bytes().size(), sizeof(header.name) - 1)); | ||||||
|     memcpy(header.family, m_family.characters(), min(m_family.length(), sizeof(header.family) - 1)); |     memcpy(header.family, m_family.bytes().data(), min(m_family.bytes().size(), sizeof(header.family) - 1)); | ||||||
| 
 | 
 | ||||||
|     size_t bytes_per_glyph = sizeof(u32) * m_glyph_height; |     size_t bytes_per_glyph = sizeof(u32) * m_glyph_height; | ||||||
|     TRY(file->write_until_depleted({ &header, sizeof(header) })); |     TRY(file->write_until_depleted({ &header, sizeof(header) })); | ||||||
|  | @ -386,12 +388,12 @@ ALWAYS_INLINE int BitmapFont::unicode_view_width(T const& view) const | ||||||
|     return longest_width; |     return longest_width; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| DeprecatedString BitmapFont::qualified_name() const | String BitmapFont::qualified_name() const | ||||||
| { | { | ||||||
|     return DeprecatedString::formatted("{} {} {} {}", family(), presentation_size(), weight(), slope()); |     return MUST(String::formatted("{} {} {} {}", family(), presentation_size(), weight(), slope())); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| DeprecatedString BitmapFont::variant() const | String BitmapFont::variant() const | ||||||
| { | { | ||||||
|     StringBuilder builder; |     StringBuilder builder; | ||||||
|     builder.append(weight_to_name(weight())); |     builder.append(weight_to_name(weight())); | ||||||
|  | @ -402,19 +404,19 @@ DeprecatedString BitmapFont::variant() const | ||||||
|             builder.append(' '); |             builder.append(' '); | ||||||
|         builder.append(slope_to_name(slope())); |         builder.append(slope_to_name(slope())); | ||||||
|     } |     } | ||||||
|     return builder.to_deprecated_string(); |     return MUST(builder.to_string()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| RefPtr<Font> BitmapFont::with_size(float point_size) const | RefPtr<Font> BitmapFont::with_size(float point_size) const | ||||||
| { | { | ||||||
|     return Gfx::FontDatabase::the().get(family(), point_size, weight(), width(), slope()); |     return Gfx::FontDatabase::the().get(family().to_deprecated_string(), point_size, weight(), width(), slope()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| Font const& Font::bold_variant() const | Font const& Font::bold_variant() const | ||||||
| { | { | ||||||
|     if (m_bold_variant) |     if (m_bold_variant) | ||||||
|         return *m_bold_variant; |         return *m_bold_variant; | ||||||
|     m_bold_variant = Gfx::FontDatabase::the().get(family(), presentation_size(), 700, Gfx::FontWidth::Normal, 0); |     m_bold_variant = Gfx::FontDatabase::the().get(family().to_deprecated_string(), presentation_size(), 700, Gfx::FontWidth::Normal, 0); | ||||||
|     if (!m_bold_variant) |     if (!m_bold_variant) | ||||||
|         m_bold_variant = this; |         m_bold_variant = this; | ||||||
|     return *m_bold_variant; |     return *m_bold_variant; | ||||||
|  |  | ||||||
|  | @ -102,8 +102,8 @@ public: | ||||||
| 
 | 
 | ||||||
|     virtual int width_rounded_up(StringView) const override; |     virtual int width_rounded_up(StringView) const override; | ||||||
| 
 | 
 | ||||||
|     DeprecatedString name() const override { return m_name; } |     virtual String name() const override { return m_name; } | ||||||
|     void set_name(DeprecatedString name) { m_name = move(name); } |     void set_name(String name) { m_name = move(name); } | ||||||
| 
 | 
 | ||||||
|     bool is_fixed_width() const override { return m_fixed_width; } |     bool is_fixed_width() const override { return m_fixed_width; } | ||||||
|     void set_fixed_width(bool b) { m_fixed_width = b; } |     void set_fixed_width(bool b) { m_fixed_width = b; } | ||||||
|  | @ -123,17 +123,17 @@ public: | ||||||
|     u16 range_size() const { return m_range_mask_size; } |     u16 range_size() const { return m_range_mask_size; } | ||||||
|     bool is_range_empty(u32 code_point) const { return !(m_range_mask[code_point / 256 / 8] & 1 << (code_point / 256 % 8)); } |     bool is_range_empty(u32 code_point) const { return !(m_range_mask[code_point / 256 / 8] & 1 << (code_point / 256 % 8)); } | ||||||
| 
 | 
 | ||||||
|     DeprecatedString family() const override { return m_family; } |     virtual String family() const override { return m_family; } | ||||||
|     void set_family(DeprecatedString family) { m_family = move(family); } |     void set_family(String family) { m_family = move(family); } | ||||||
|     DeprecatedString variant() const override; |     virtual String variant() const override; | ||||||
| 
 | 
 | ||||||
|     DeprecatedString qualified_name() const override; |     virtual String qualified_name() const override; | ||||||
|     DeprecatedString human_readable_name() const override { return DeprecatedString::formatted("{} {} {}", family(), variant(), presentation_size()); } |     virtual String human_readable_name() const override { return MUST(String::formatted("{} {} {}", family(), variant(), presentation_size())); } | ||||||
| 
 | 
 | ||||||
|     virtual RefPtr<Font> with_size(float point_size) const override; |     virtual RefPtr<Font> with_size(float point_size) const override; | ||||||
| 
 | 
 | ||||||
| private: | private: | ||||||
|     BitmapFont(DeprecatedString name, DeprecatedString family, u8* rows, u8* widths, bool is_fixed_width, |     BitmapFont(String name, String family, u8* rows, u8* widths, bool is_fixed_width, | ||||||
|         u8 glyph_width, u8 glyph_height, u8 glyph_spacing, u16 range_mask_size, u8* range_mask, |         u8 glyph_width, u8 glyph_height, u8 glyph_spacing, u16 range_mask_size, u8* range_mask, | ||||||
|         u8 baseline, u8 mean_line, u8 presentation_size, u16 weight, u8 slope, bool owns_arrays = false); |         u8 baseline, u8 mean_line, u8 presentation_size, u16 weight, u8 slope, bool owns_arrays = false); | ||||||
| 
 | 
 | ||||||
|  | @ -146,8 +146,8 @@ private: | ||||||
| 
 | 
 | ||||||
|     virtual bool has_color_bitmaps() const override { return false; } |     virtual bool has_color_bitmaps() const override { return false; } | ||||||
| 
 | 
 | ||||||
|     DeprecatedString m_name; |     String m_name; | ||||||
|     DeprecatedString m_family; |     String m_family; | ||||||
|     size_t m_glyph_count { 0 }; |     size_t m_glyph_count { 0 }; | ||||||
| 
 | 
 | ||||||
|     u16 m_range_mask_size { 0 }; |     u16 m_range_mask_size { 0 }; | ||||||
|  |  | ||||||
|  | @ -9,9 +9,9 @@ | ||||||
| 
 | 
 | ||||||
| #include <AK/Bitmap.h> | #include <AK/Bitmap.h> | ||||||
| #include <AK/ByteReader.h> | #include <AK/ByteReader.h> | ||||||
| #include <AK/DeprecatedString.h> |  | ||||||
| #include <AK/RefCounted.h> | #include <AK/RefCounted.h> | ||||||
| #include <AK/RefPtr.h> | #include <AK/RefPtr.h> | ||||||
|  | #include <AK/String.h> | ||||||
| #include <AK/Types.h> | #include <AK/Types.h> | ||||||
| #include <LibCore/MappedFile.h> | #include <LibCore/MappedFile.h> | ||||||
| #include <LibGfx/Bitmap.h> | #include <LibGfx/Bitmap.h> | ||||||
|  | @ -198,7 +198,7 @@ public: | ||||||
| 
 | 
 | ||||||
|     virtual int width_rounded_up(StringView) const = 0; |     virtual int width_rounded_up(StringView) const = 0; | ||||||
| 
 | 
 | ||||||
|     virtual DeprecatedString name() const = 0; |     virtual String name() const = 0; | ||||||
| 
 | 
 | ||||||
|     virtual bool is_fixed_width() const = 0; |     virtual bool is_fixed_width() const = 0; | ||||||
| 
 | 
 | ||||||
|  | @ -206,11 +206,11 @@ public: | ||||||
| 
 | 
 | ||||||
|     virtual size_t glyph_count() const = 0; |     virtual size_t glyph_count() const = 0; | ||||||
| 
 | 
 | ||||||
|     virtual DeprecatedString family() const = 0; |     virtual String family() const = 0; | ||||||
|     virtual DeprecatedString variant() const = 0; |     virtual String variant() const = 0; | ||||||
| 
 | 
 | ||||||
|     virtual DeprecatedString qualified_name() const = 0; |     virtual String qualified_name() const = 0; | ||||||
|     virtual DeprecatedString human_readable_name() const = 0; |     virtual String human_readable_name() const = 0; | ||||||
| 
 | 
 | ||||||
|     virtual RefPtr<Font> with_size(float point_size) const = 0; |     virtual RefPtr<Font> with_size(float point_size) const = 0; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -143,21 +143,21 @@ void FontDatabase::load_all_fonts_from_path(DeprecatedString const& root) | ||||||
|             if (path.ends_with(".font"sv)) { |             if (path.ends_with(".font"sv)) { | ||||||
|                 if (auto font_or_error = Gfx::BitmapFont::try_load_from_file(path); !font_or_error.is_error()) { |                 if (auto font_or_error = Gfx::BitmapFont::try_load_from_file(path); !font_or_error.is_error()) { | ||||||
|                     auto font = font_or_error.release_value(); |                     auto font = font_or_error.release_value(); | ||||||
|                     m_private->full_name_to_font_map.set(font->qualified_name(), *font); |                     m_private->full_name_to_font_map.set(font->qualified_name().to_deprecated_string(), *font); | ||||||
|                     auto typeface = get_or_create_typeface(font->family(), font->variant()); |                     auto typeface = get_or_create_typeface(font->family().to_deprecated_string(), font->variant().to_deprecated_string()); | ||||||
|                     typeface->add_bitmap_font(font); |                     typeface->add_bitmap_font(font); | ||||||
|                 } |                 } | ||||||
|             } else if (path.ends_with(".ttf"sv)) { |             } else if (path.ends_with(".ttf"sv)) { | ||||||
|                 // FIXME: What about .otf
 |                 // FIXME: What about .otf
 | ||||||
|                 if (auto font_or_error = OpenType::Font::try_load_from_file(path); !font_or_error.is_error()) { |                 if (auto font_or_error = OpenType::Font::try_load_from_file(path); !font_or_error.is_error()) { | ||||||
|                     auto font = font_or_error.release_value(); |                     auto font = font_or_error.release_value(); | ||||||
|                     auto typeface = get_or_create_typeface(font->family(), font->variant()); |                     auto typeface = get_or_create_typeface(font->family().to_deprecated_string(), font->variant().to_deprecated_string()); | ||||||
|                     typeface->set_vector_font(move(font)); |                     typeface->set_vector_font(move(font)); | ||||||
|                 } |                 } | ||||||
|             } else if (path.ends_with(".woff"sv)) { |             } else if (path.ends_with(".woff"sv)) { | ||||||
|                 if (auto font_or_error = WOFF::Font::try_load_from_file(path); !font_or_error.is_error()) { |                 if (auto font_or_error = WOFF::Font::try_load_from_file(path); !font_or_error.is_error()) { | ||||||
|                     auto font = font_or_error.release_value(); |                     auto font = font_or_error.release_value(); | ||||||
|                     auto typeface = get_or_create_typeface(font->family(), font->variant()); |                     auto typeface = get_or_create_typeface(font->family().to_deprecated_string(), font->variant().to_deprecated_string()); | ||||||
|                     typeface->set_vector_font(move(font)); |                     typeface->set_vector_font(move(font)); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|  |  | ||||||
|  | @ -292,7 +292,7 @@ Optional<i16> Kern::read_glyph_kerning_format0(ReadonlyBytes slice, u16 left_gly | ||||||
|     return pair->value; |     return pair->value; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| DeprecatedString Name::string_for_id(NameId id) const | String Name::string_for_id(NameId id) const | ||||||
| { | { | ||||||
|     auto const count = header().count; |     auto const count = header().count; | ||||||
|     auto const storage_offset = header().storage_offset; |     auto const storage_offset = header().storage_offset; | ||||||
|  | @ -306,7 +306,7 @@ DeprecatedString Name::string_for_id(NameId id) const | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (valid_ids.is_empty()) |     if (valid_ids.is_empty()) | ||||||
|         return DeprecatedString::empty(); |         return String {}; | ||||||
| 
 | 
 | ||||||
|     auto it = valid_ids.find_if([this](auto const& i) { |     auto it = valid_ids.find_if([this](auto const& i) { | ||||||
|         // check if font has naming table for en-US language id
 |         // check if font has naming table for en-US language id
 | ||||||
|  | @ -326,10 +326,10 @@ DeprecatedString Name::string_for_id(NameId id) const | ||||||
| 
 | 
 | ||||||
|     if (platform_id == to_underlying(Platform::Windows)) { |     if (platform_id == to_underlying(Platform::Windows)) { | ||||||
|         static auto& decoder = *TextCodec::decoder_for("utf-16be"sv); |         static auto& decoder = *TextCodec::decoder_for("utf-16be"sv); | ||||||
|         return decoder.to_utf8(StringView { (char const*)m_slice.offset_pointer(storage_offset + offset), length }).release_value_but_fixme_should_propagate_errors().to_deprecated_string(); |         return decoder.to_utf8(StringView { (char const*)m_slice.offset_pointer(storage_offset + offset), length }).release_value_but_fixme_should_propagate_errors(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     return DeprecatedString((char const*)m_slice.offset_pointer(storage_offset + offset), length); |     return String::from_utf8(m_slice.slice(storage_offset + offset, length)).release_value_but_fixme_should_propagate_errors(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| GlyphHorizontalMetrics Hmtx::get_glyph_horizontal_metrics(u32 glyph_id) const | GlyphHorizontalMetrics Hmtx::get_glyph_horizontal_metrics(u32 glyph_id) const | ||||||
|  | @ -763,7 +763,7 @@ u16 Font::units_per_em() const | ||||||
|     return m_head.units_per_em(); |     return m_head.units_per_em(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| DeprecatedString Font::family() const | String Font::family() const | ||||||
| { | { | ||||||
|     auto string = m_name.typographic_family_name(); |     auto string = m_name.typographic_family_name(); | ||||||
|     if (!string.is_empty()) |     if (!string.is_empty()) | ||||||
|  | @ -771,7 +771,7 @@ DeprecatedString Font::family() const | ||||||
|     return m_name.family_name(); |     return m_name.family_name(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| DeprecatedString Font::variant() const | String Font::variant() const | ||||||
| { | { | ||||||
|     auto string = m_name.typographic_subfamily_name(); |     auto string = m_name.typographic_subfamily_name(); | ||||||
|     if (!string.is_empty()) |     if (!string.is_empty()) | ||||||
|  |  | ||||||
|  | @ -34,8 +34,8 @@ public: | ||||||
|     virtual u32 glyph_count() const override; |     virtual u32 glyph_count() const override; | ||||||
|     virtual u16 units_per_em() const override; |     virtual u16 units_per_em() const override; | ||||||
|     virtual u32 glyph_id_for_code_point(u32 code_point) const override; |     virtual u32 glyph_id_for_code_point(u32 code_point) const override; | ||||||
|     virtual DeprecatedString family() const override; |     virtual String family() const override; | ||||||
|     virtual DeprecatedString variant() const override; |     virtual String variant() const override; | ||||||
|     virtual u16 weight() const override; |     virtual u16 weight() const override; | ||||||
|     virtual u16 width() const override; |     virtual u16 width() const override; | ||||||
|     virtual u8 slope() const override; |     virtual u8 slope() const override; | ||||||
|  |  | ||||||
|  | @ -326,10 +326,10 @@ public: | ||||||
|     }; |     }; | ||||||
|     static Optional<Name> from_slice(ReadonlyBytes); |     static Optional<Name> from_slice(ReadonlyBytes); | ||||||
| 
 | 
 | ||||||
|     DeprecatedString family_name() const { return string_for_id(NameId::FamilyName); } |     String family_name() const { return string_for_id(NameId::FamilyName); } | ||||||
|     DeprecatedString subfamily_name() const { return string_for_id(NameId::SubfamilyName); } |     String subfamily_name() const { return string_for_id(NameId::SubfamilyName); } | ||||||
|     DeprecatedString typographic_family_name() const { return string_for_id(NameId::TypographicFamilyName); } |     String typographic_family_name() const { return string_for_id(NameId::TypographicFamilyName); } | ||||||
|     DeprecatedString typographic_subfamily_name() const { return string_for_id(NameId::TypographicSubfamilyName); } |     String typographic_subfamily_name() const { return string_for_id(NameId::TypographicSubfamilyName); } | ||||||
| 
 | 
 | ||||||
| private: | private: | ||||||
|     // https://learn.microsoft.com/en-us/typography/opentype/spec/name#name-records
 |     // https://learn.microsoft.com/en-us/typography/opentype/spec/name#name-records
 | ||||||
|  | @ -373,7 +373,7 @@ private: | ||||||
|     { |     { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     DeprecatedString string_for_id(NameId) const; |     [[nodiscard]] String string_for_id(NameId) const; | ||||||
| 
 | 
 | ||||||
|     ReadonlyBytes m_slice; |     ReadonlyBytes m_slice; | ||||||
| }; | }; | ||||||
|  |  | ||||||
|  | @ -62,14 +62,14 @@ public: | ||||||
|     virtual float width(Utf8View const&) const override; |     virtual float width(Utf8View const&) const override; | ||||||
|     virtual float width(Utf32View const&) const override; |     virtual float width(Utf32View const&) const override; | ||||||
|     virtual int width_rounded_up(StringView) const override; |     virtual int width_rounded_up(StringView) const override; | ||||||
|     virtual DeprecatedString name() const override { return DeprecatedString::formatted("{} {}", family(), variant()); } |     virtual String name() const override { return MUST(String::formatted("{} {}", family(), variant())); } | ||||||
|     virtual bool is_fixed_width() const override { return m_font->is_fixed_width(); } |     virtual bool is_fixed_width() const override { return m_font->is_fixed_width(); } | ||||||
|     virtual u8 glyph_spacing() const override { return 0; } |     virtual u8 glyph_spacing() const override { return 0; } | ||||||
|     virtual size_t glyph_count() const override { return m_font->glyph_count(); } |     virtual size_t glyph_count() const override { return m_font->glyph_count(); } | ||||||
|     virtual DeprecatedString family() const override { return m_font->family(); } |     virtual String family() const override { return m_font->family(); } | ||||||
|     virtual DeprecatedString variant() const override { return m_font->variant(); } |     virtual String variant() const override { return m_font->variant(); } | ||||||
|     virtual DeprecatedString qualified_name() const override { return DeprecatedString::formatted("{} {} {} {}", family(), presentation_size(), weight(), slope()); } |     virtual String qualified_name() const override { return MUST(String::formatted("{} {} {} {}", family(), presentation_size(), weight(), slope())); } | ||||||
|     virtual DeprecatedString human_readable_name() const override { return DeprecatedString::formatted("{} {} {}", family(), variant(), presentation_size()); } |     virtual String human_readable_name() const override { return MUST(String::formatted("{} {} {}", family(), variant(), presentation_size())); } | ||||||
| 
 | 
 | ||||||
|     virtual RefPtr<Font> with_size(float point_size) const override; |     virtual RefPtr<Font> with_size(float point_size) const override; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -42,8 +42,8 @@ public: | ||||||
|     virtual u32 glyph_count() const = 0; |     virtual u32 glyph_count() const = 0; | ||||||
|     virtual u16 units_per_em() const = 0; |     virtual u16 units_per_em() const = 0; | ||||||
|     virtual u32 glyph_id_for_code_point(u32 code_point) const = 0; |     virtual u32 glyph_id_for_code_point(u32 code_point) const = 0; | ||||||
|     virtual DeprecatedString family() const = 0; |     virtual String family() const = 0; | ||||||
|     virtual DeprecatedString variant() const = 0; |     virtual String variant() const = 0; | ||||||
|     virtual u16 weight() const = 0; |     virtual u16 weight() const = 0; | ||||||
|     virtual u16 width() const = 0; |     virtual u16 width() const = 0; | ||||||
|     virtual u8 slope() const = 0; |     virtual u8 slope() const = 0; | ||||||
|  |  | ||||||
|  | @ -31,8 +31,8 @@ public: | ||||||
|     virtual u32 glyph_count() const override { return m_input_font->glyph_count(); } |     virtual u32 glyph_count() const override { return m_input_font->glyph_count(); } | ||||||
|     virtual u16 units_per_em() const override { return m_input_font->units_per_em(); } |     virtual u16 units_per_em() const override { return m_input_font->units_per_em(); } | ||||||
|     virtual u32 glyph_id_for_code_point(u32 code_point) const override { return m_input_font->glyph_id_for_code_point(code_point); } |     virtual u32 glyph_id_for_code_point(u32 code_point) const override { return m_input_font->glyph_id_for_code_point(code_point); } | ||||||
|     virtual DeprecatedString family() const override { return m_input_font->family(); } |     virtual String family() const override { return m_input_font->family(); } | ||||||
|     virtual DeprecatedString variant() const override { return m_input_font->variant(); } |     virtual String variant() const override { return m_input_font->variant(); } | ||||||
|     virtual u16 weight() const override { return m_input_font->weight(); } |     virtual u16 weight() const override { return m_input_font->weight(); } | ||||||
|     virtual u16 width() const override { return m_input_font->width(); } |     virtual u16 width() const override { return m_input_font->width(); } | ||||||
|     virtual u8 slope() const override { return m_input_font->slope(); } |     virtual u8 slope() const override { return m_input_font->slope(); } | ||||||
|  |  | ||||||
|  | @ -35,8 +35,8 @@ public: | ||||||
|     virtual u32 glyph_count() const override { return m_input_font->glyph_count(); } |     virtual u32 glyph_count() const override { return m_input_font->glyph_count(); } | ||||||
|     virtual u16 units_per_em() const override { return m_input_font->units_per_em(); } |     virtual u16 units_per_em() const override { return m_input_font->units_per_em(); } | ||||||
|     virtual u32 glyph_id_for_code_point(u32 code_point) const override { return m_input_font->glyph_id_for_code_point(code_point); } |     virtual u32 glyph_id_for_code_point(u32 code_point) const override { return m_input_font->glyph_id_for_code_point(code_point); } | ||||||
|     virtual DeprecatedString family() const override { return m_input_font->family(); } |     virtual String family() const override { return m_input_font->family(); } | ||||||
|     virtual DeprecatedString variant() const override { return m_input_font->variant(); } |     virtual String variant() const override { return m_input_font->variant(); } | ||||||
|     virtual u16 weight() const override { return m_input_font->weight(); } |     virtual u16 weight() const override { return m_input_font->weight(); } | ||||||
|     virtual u16 width() const override { return m_input_font->width(); } |     virtual u16 width() const override { return m_input_font->width(); } | ||||||
|     virtual u8 slope() const override { return m_input_font->slope(); } |     virtual u8 slope() const override { return m_input_font->slope(); } | ||||||
|  |  | ||||||
|  | @ -21,7 +21,7 @@ RefPtr<Gfx::Font const> FontCache::get(FontSelector const& font_selector) const | ||||||
| NonnullRefPtr<Gfx::Font const> FontCache::scaled_font(Gfx::Font const& font, float scale_factor) | NonnullRefPtr<Gfx::Font const> FontCache::scaled_font(Gfx::Font const& font, float scale_factor) | ||||||
| { | { | ||||||
|     auto device_font_pt_size = font.point_size() * scale_factor; |     auto device_font_pt_size = font.point_size() * scale_factor; | ||||||
|     FontSelector font_selector = { FlyString::from_deprecated_fly_string(font.family()).release_value_but_fixme_should_propagate_errors(), device_font_pt_size, font.weight(), font.width(), font.slope() }; |     FontSelector font_selector = { font.family(), device_font_pt_size, font.weight(), font.width(), font.slope() }; | ||||||
|     if (auto cached_font = get(font_selector)) { |     if (auto cached_font = get(font_selector)) { | ||||||
|         return *cached_font; |         return *cached_font; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -37,10 +37,10 @@ DeprecatedString FontPluginSerenity::generic_font_name(GenericFont generic_font) | ||||||
|     case GenericFont::UiSansSerif: |     case GenericFont::UiSansSerif: | ||||||
|     case GenericFont::Cursive: |     case GenericFont::Cursive: | ||||||
|     case GenericFont::UiRounded: |     case GenericFont::UiRounded: | ||||||
|         return default_font().family(); |         return default_font().family().to_deprecated_string(); | ||||||
|     case GenericFont::Monospace: |     case GenericFont::Monospace: | ||||||
|     case GenericFont::UiMonospace: |     case GenericFont::UiMonospace: | ||||||
|         return default_fixed_width_font().family(); |         return default_fixed_width_font().family().to_deprecated_string(); | ||||||
|     case GenericFont::Serif: |     case GenericFont::Serif: | ||||||
|     case GenericFont::UiSerif: |     case GenericFont::UiSerif: | ||||||
|         return "Roman"; |         return "Roman"; | ||||||
|  |  | ||||||
|  | @ -183,7 +183,7 @@ void ScreenNumberOverlay::pick_font() | ||||||
|                     return; |                     return; | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|             best_font_name = font.qualified_name(); |             best_font_name = font.qualified_name().to_deprecated_string(); | ||||||
|             best_font_size = size; |             best_font_size = size; | ||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling