1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-07 21:17:07 +09:00
ladybird/Libraries/LibGfx
Sam Atkins 5a1c73d7e2 LibGfx+LibWeb: Update definitions of supported font formats and features
Based very scientifically on what's listed here:
https://harfbuzz.github.io/what-does-harfbuzz-do.html

I've moved the code into LibGfx because including a HarfBuzz header
directly from LibWeb is a little unpleasant. But the Gfx::FontTech enum
follows the CSS definitions for font features for simplicity.

TrueType collections are supported. SVG and Embedded OpenType are not,
but they're not widely supported by other browsers so that's fine.

Most of the features are completely supported by HarfBuzz, so we can
just return true. Graphite support is optional (and it appears we use a
build of HarfBuzz without it) but there's a define we can check.
Incremental Font Transfer is a whole separate thing that we definitely
don't support yet.
2025-06-05 12:10:29 +01:00
..
Font LibGfx+LibWeb: Update definitions of supported font formats and features 2025-06-05 12:10:29 +01:00
ImageFormats Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
AffineTransform.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
AffineTransform.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Bitmap.cpp LibGfx+LibWeb: Convert bitmap alpha type when creating ImmutableBitmaps 2025-03-22 17:49:38 +01:00
Bitmap.h LibGfx: Make Bitmap atomic ref-counted 2025-04-24 03:12:19 +02:00
BitmapSequence.cpp LibGfx+ImageDecoder: Use RefPtr<Bitmap> instead of optional 2025-03-22 17:49:38 +01:00
BitmapSequence.h LibGfx+ImageDecoder: Use RefPtr<Bitmap> instead of optional 2025-03-22 17:49:38 +01:00
BoundingBox.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
CMakeLists.txt LibGfx+LibWeb: Update definitions of supported font formats and features 2025-06-05 12:10:29 +01:00
CMYKBitmap.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
CMYKBitmap.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Color.cpp LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
Color.h LibGfx: Add a helper to create Ladybird-branded colors 2025-04-23 13:22:56 +02:00
Color.swift Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ColorSpace.cpp Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
ColorSpace.h LibGfx: Allow ImageDecoders to expose their color space through CICP 2025-02-12 12:03:30 -05:00
CompositingAndBlendingOperator.h LibWeb/Canvas: Support globalCompositionOperation 2025-02-05 11:26:58 +00:00
Cursor.cpp LibGfx: Add ImageCursor type and Cursor variant 2025-02-28 13:50:13 +01:00
Cursor.h LibGfx: Add ImageCursor type and Cursor variant 2025-02-28 13:50:13 +01:00
Filter.cpp LibGfx+LibWeb: Turn Gfx::Filter into a SkImageFilter wrapper 2025-06-01 23:22:10 +02:00
Filter.h LibGfx+LibWeb: Turn Gfx::Filter into a SkImageFilter wrapper 2025-06-01 23:22:10 +02:00
FilterImpl.h LibGfx+LibWeb: Turn Gfx::Filter into a SkImageFilter wrapper 2025-06-01 23:22:10 +02:00
FontCascadeList.cpp LibGfx+LibWeb: Store Typeface and Font-related types in RefPtr to const 2025-04-16 10:41:44 -06:00
FontCascadeList.h LibGfx+LibWeb: Store Typeface and Font-related types in RefPtr to const 2025-04-16 10:41:44 -06:00
Forward.h LibGfx+LibWeb: Add Path::glyph_run() and use in canvas 2025-04-21 09:51:16 +02:00
FourCC.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
GradientPainting.cpp LibGfx: Delete DeprecatedPainter 2024-11-25 21:13:53 +01:00
Gradients.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ImmutableBitmap.cpp LibGfx+LibWeb: Convert bitmap alpha type when creating ImmutableBitmaps 2025-03-22 17:49:38 +01:00
ImmutableBitmap.h LibWeb+WebContent: Move display list rasterization off the main thread 2025-03-31 15:58:15 +01:00
Line.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
LineStyle.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Matrix.h LibMedia: Clean up #include directives 2024-11-21 14:08:33 +01:00
Matrix3x3.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
Matrix4x4.h Meta: Enforce newlines around namespaces 2025-05-14 02:01:59 -06:00
MetalContext.h Everywhere: Run clang-format 2024-12-28 05:39:32 -08:00
MetalContext.mm LibWeb: Allow construction of PaintingSurface directly from IOSurface 2024-12-03 23:35:45 +01:00
Orientation.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Painter.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Painter.h LibGfx+LibWeb: Turn Gfx::Filter into a SkImageFilter wrapper 2025-06-01 23:22:10 +02:00
PainterSkia.cpp LibGfx+LibWeb: Turn Gfx::Filter into a SkImageFilter wrapper 2025-06-01 23:22:10 +02:00
PainterSkia.h LibGfx+LibWeb: Turn Gfx::Filter into a SkImageFilter wrapper 2025-06-01 23:22:10 +02:00
PaintingSurface.cpp LibWeb+LibGfx: Support alpha in CanvasRenderingContext2D 2025-04-29 13:51:23 +02:00
PaintingSurface.h LibWeb: Protect SkiaBackendContext with a mutex 2025-04-01 23:39:05 +02:00
PaintStyle.h LibGfx: Fix dynamic_cast undefined behavior on macOS 2024-12-18 18:54:20 +01:00
Palette.cpp LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
Palette.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Path.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Path.h LibGfx+LibWeb: Add Path::glyph_run() and use in canvas 2025-04-21 09:51:16 +02:00
PathSkia.cpp LibGfx+LibWeb: Add Path::glyph_run() and use in canvas 2025-04-21 09:51:16 +02:00
PathSkia.h LibGfx+LibWeb: Add Path::glyph_run() and use in canvas 2025-04-21 09:51:16 +02:00
Point.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Point.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Quad.h LibGfx: Implement even-odd method for Quad::contains() and add tests 2024-12-15 23:27:42 +01:00
Rect.cpp LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
Rect.h LibWeb+LibGfx: Make IntersectionObserver checks edge-inclusive 2025-02-16 18:09:08 +01:00
ScalingMode.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ShareableBitmap.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
ShareableBitmap.h LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
Size.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Size.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
SkiaBackendContext.cpp LibGfx: Pass MetalContext in an NNRP in SkiaBackendContext 2025-04-16 10:41:44 -06:00
SkiaBackendContext.h LibGfx: Pass MetalContext in an NNRP in SkiaBackendContext 2025-04-16 10:41:44 -06:00
SkiaUtils.cpp LibGfx+LibWeb: Turn Gfx::Filter into a SkImageFilter wrapper 2025-06-01 23:22:10 +02:00
SkiaUtils.h LibGfx+LibWeb: Turn Gfx::Filter into a SkImageFilter wrapper 2025-06-01 23:22:10 +02:00
SystemTheme.cpp LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
SystemTheme.h LibGfx: Clean up #include directives 2024-11-20 21:13:23 +01:00
TextAlignment.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
TextAttributes.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
TextLayout.cpp LibGfx+LibWeb: Support per-glyph font fallbacks in canvas text painting 2025-04-21 09:51:16 +02:00
TextLayout.h LibGfx+LibWeb: Support per-glyph font fallbacks in canvas text painting 2025-04-21 09:51:16 +02:00
TIFFGenerator.py Everywhere: Format all python files with black 2025-05-22 16:21:42 +02:00
Triangle.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Triangle.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Vector2.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Vector3.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Vector4.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
VectorGraphic.cpp LibGfx: Let Painter care about TinyVG transforms 2024-12-14 23:29:43 +01:00
VectorGraphic.h LibGfx: Let Painter care about TinyVG transforms 2024-12-14 23:29:43 +01:00
VectorN.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
VulkanContext.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
VulkanContext.h LibWeb+Services: Remove unused #includes 2025-01-31 13:28:09 +01:00
WindingRule.h Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00