mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-30 00:31:14 +00:00
LibWeb: Don't round font sizes when looking them up
We previously had a rounding error which sometimes led to asking LibGfx for fonts with slightly wrong sizes.
This commit is contained in:
parent
ee883372f6
commit
d5bba91a16
Notes:
sideshowbarker
2024-07-17 16:42:13 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/d5bba91a16
|
@ -877,7 +877,7 @@ void StyleComputer::compute_font(StyleProperties& style, DOM::Element const* ele
|
|||
bool monospace = false;
|
||||
|
||||
auto find_font = [&](String const& family) -> RefPtr<Gfx::Font> {
|
||||
int font_size_in_pt = roundf(font_size_in_px * 0.75f);
|
||||
float font_size_in_pt = font_size_in_px * 0.75f;
|
||||
font_selector = { family, font_size_in_pt, weight, slope };
|
||||
|
||||
if (auto found_font = FontCache::the().get(font_selector))
|
||||
|
|
|
@ -14,20 +14,20 @@
|
|||
|
||||
struct FontSelector {
|
||||
FlyString family;
|
||||
int size { 0 };
|
||||
float point_size { 0 };
|
||||
int weight { 0 };
|
||||
int slope { 0 };
|
||||
|
||||
bool operator==(const FontSelector& other) const
|
||||
{
|
||||
return family == other.family && size == other.size && weight == other.weight && slope == other.slope;
|
||||
return family == other.family && point_size == other.point_size && weight == other.weight && slope == other.slope;
|
||||
}
|
||||
};
|
||||
|
||||
namespace AK {
|
||||
template<>
|
||||
struct Traits<FontSelector> : public GenericTraits<FontSelector> {
|
||||
static unsigned hash(const FontSelector& key) { return pair_int_hash(pair_int_hash(key.family.hash(), key.weight), key.size); }
|
||||
static unsigned hash(const FontSelector& key) { return pair_int_hash(pair_int_hash(key.family.hash(), key.weight), key.point_size); }
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue