ladybird/Libraries
Tim Ledbetter 3049d77979 LibWeb: Use advance width for canvas text alignment
Previously, `text_path() used the glyph outline bounding box width to
compute text alignment offsets and maxWidth scaling. The bounding box
only covers visible glyph outlines, excluding the advance of spaces and
glyph side bearings. This caused text with `textAlign` "end", "right",
or "center" to be mispositioned. We now use the sum of glyph run
advance widths instead.
2026-05-28 10:40:44 +02:00
..
LibCompress LibCompress: Treat LZW decoding errors as end of stream 2026-04-29 20:28:15 +02:00
LibCore LibCore: Release IOSurface creation properties 2026-05-28 10:33:38 +02:00
LibCrypto LibCrypto: Support EC compressed point format (0x02/0x03) 2026-05-12 13:58:38 +02:00
LibDatabase Meta: Move most dependency checks to check_for_dependencies.cmake 2026-04-20 16:41:29 -06:00
LibDevTools DevTools: Allocate fresh highlighter actors for each request 2026-05-27 17:47:50 +01:00
LibDiff CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
LibDNS LibThreading/LibSync: Split out sync primitives 2026-05-08 18:58:35 -05:00
LibFileSystem LibFileSystem: Preserve copy flags when recursing into directories 2026-04-13 12:00:52 +02:00
LibGC LibGC: Introduce WeakHashMap 2026-05-27 02:56:27 +01:00
LibGfx Rust: Set import granularity to Item 2026-05-28 06:52:18 +02:00
LibHTTP LibWasm+LibWeb: Serialize and save compiled wasm as a cache blob 2026-05-27 09:52:34 +02:00
LibIDL LibWeb/Bindings: Track generated binding includes at use sites 2026-05-24 16:37:28 +02:00
LibImageDecoderClient LibImageDecoderClient: Remove sync id fetch from async decode request 2026-02-28 00:04:06 -06:00
LibIPC LibIPC: Remove unused Stub name member 2026-05-26 09:02:03 +02:00
LibJS Rust: Set import granularity to Item 2026-05-28 06:52:18 +02:00
LibLine LibCore: Remove unused header in EventLoop 2026-02-21 19:27:35 +01:00
LibMain AK: Expose helpers to invoke Windows runtime config directly in main() 2025-10-29 21:07:52 -06:00
LibMedia LibMedia: Prevent PulseAudio write callbacks doing anything if parked 2026-05-28 10:33:57 +02:00
LibRegex LibURL: Implement URLPattern in Rust 2026-05-28 09:27:41 +02:00
LibRequests LibRequests+RequestServer: Send oversized ws frames via shared memory 2026-05-27 09:52:34 +02:00
LibSync LibSync: Implement ConditionVariable::wait_for(Duration) 2026-05-22 09:30:10 -05:00
LibSyntax LibSyntax: Include RefCounted in Document.h 2026-01-23 09:20:15 +01:00
LibTest LibGC: Defer per-block madvise to a global background worker 2026-05-07 20:09:05 +02:00
LibTextCodec LibTextCodec: Stop buffering invalid UTF-8 tails 2026-05-18 14:08:22 +02:00
LibThreading LibThreading/LibSync: Split out sync primitives 2026-05-08 18:58:35 -05:00
LibTLS Meta: Move most dependency checks to check_for_dependencies.cmake 2026-04-20 16:41:29 -06:00
LibUnicode LibUnicode/Rust: Expose IDNA to_ascii to Rust 2026-05-28 09:27:41 +02:00
LibURL LibURL: Optimize ASCII path/query parsing 2026-05-28 09:27:41 +02:00
LibWasm LibWasm: Move the "rest" of br_if.nostack into a separate function 2026-05-28 10:34:26 +02:00
LibWeb LibWeb: Use advance width for canvas text alignment 2026-05-28 10:40:44 +02:00
LibWebSocket LibWebSocket: Time out stalled close handshakes 2026-05-05 19:14:29 +02:00
LibWebView Compositor: Drop redundant context state 2026-05-27 20:29:36 +01:00
LibXML Meta: Move most dependency checks to check_for_dependencies.cmake 2026-04-20 16:41:29 -06:00
CMakeLists.txt LibThreading/LibSync: Split out sync primitives 2026-05-08 18:58:35 -05:00
RustAllocator.rs Rust: Set import granularity to Item 2026-05-28 06:52:18 +02:00