ladybird/Userland/Libraries/LibGfx
Kostya Farber 2534e7aeff LibWeb: Strip tabs before text shaping
Handling tabs during text shaping caused issues because we tried to
index 'input_glyph_info' whilst iterating until 'glyph_count' and these
can be different sizes.

The difference is due to when one or more characters get
merged into the same glyph when calling 'input_glyph_info' (see
https://lazka.github.io/pgi-docs/HarfBuzz-0.0/classes/glyph_info_t.html).

We don't want to render tabs as they come up as tofu characters so
instead let's strip them out of the text chunk before starting text
shaping.
2024-10-22 21:42:54 +02:00
..
Font LibGfx: Move FontDatabase internals to SystemFontProvider interface 2024-10-15 15:09:16 -06:00
ICC LibGfx+icc: Prefix AK::FixedPoint with AK Namespace 2024-07-18 09:43:38 +01:00
ImageFormats JPEGLoader: Fix infinite loop on incomplete data 2024-10-12 19:21:03 +02:00
AffineTransform.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
AffineTransform.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
AntiAliasingPainter.cpp LibGfx: Remove most of AntiAliasingPainter 2024-08-20 09:30:05 +02:00
AntiAliasingPainter.h LibGfx: Remove most of AntiAliasingPainter 2024-08-20 09:30:05 +02:00
Bitmap.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Bitmap.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
BitmapSequence.cpp LibGfx: Use more Span methods in BitmapSequence instead of memcpy 2024-10-02 16:37:19 -06:00
BitmapSequence.h ImageDecoder+LibGfx: Collate decoded bitmaps before sending over IPC 2024-10-02 15:57:41 -06:00
BoundingBox.h LibGfx: Add BoundingBox helper class 2023-11-14 10:13:10 +01:00
CIELAB.h LibGfx: Move CIELAB to its own file 2023-04-30 05:57:20 +02:00
CMakeLists.txt LibGfx: Move FontDatabase internals to SystemFontProvider interface 2024-10-15 15:09:16 -06:00
CMYKBitmap.cpp LibGfx: Prevent overflow when creating CMYKBitmaps 2024-03-07 11:32:57 -05:00
CMYKBitmap.h LibGfx: Add comparison operators to CMYK 2024-01-26 07:36:53 +01:00
Color.cpp LibWeb+LibGfx: Serialize HTML canvas fill/strokeStyle colors correctly 2024-10-04 20:01:22 +02:00
Color.h LibWeb+LibGfx: Serialize HTML canvas fill/strokeStyle colors correctly 2024-10-04 20:01:22 +02:00
Color.swift AK+Swift: Remove Foundation.Data footgun for AK.StringView 2024-08-29 06:31:25 +02:00
DeltaE.cpp AK: Add to_radians and to_degrees math functions 2023-09-10 08:38:29 +01:00
DeltaE.h LibGfx: Add DeltaE() function 2023-04-30 05:57:20 +02:00
DeprecatedPainter.cpp LibGfx: Remove unused, deprecated code 2024-10-18 18:12:45 +02:00
DeprecatedPainter.h LibGfx: Remove unused, deprecated code 2024-10-18 18:12:45 +02:00
DeprecatedPath.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
DeprecatedPath.h LibGfx: Remove unused, deprecated code 2024-10-18 18:12:45 +02:00
DisjointRectSet.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
EdgeFlagPathRasterizer.cpp LibGfx: Remove most of AntiAliasingPainter 2024-08-20 09:30:05 +02:00
EdgeFlagPathRasterizer.h LibGfx: Rename Path => DeprecatedPath 2024-08-20 09:30:05 +02:00
FontCascadeList.cpp LibWeb: Skip font if it doesn't contain needed glyph in FontCascadeList 2024-09-06 08:30:30 -04:00
FontCascadeList.h LibWeb: Consider last resort font in font list 2024-09-08 13:43:15 +02:00
Forward.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
FourCC.h LibGfx: Add FourCC::from_u32() 2024-02-28 16:00:07 -05:00
GradientPainting.cpp LibGfx: Remove unused, deprecated code 2024-10-18 18:12:45 +02:00
Gradients.h LibGfx+LibWeb: Support CSS gradient "transition hints" in Skia painter 2024-07-10 20:01:04 +03:00
ImmutableBitmap.cpp LibGfx+LibWeb: Add ImmutableBitmap for images bitmap caching in painter 2023-11-26 12:55:43 +01:00
ImmutableBitmap.h LibGfx+LibWeb: Add ImmutableBitmap for images bitmap caching in painter 2023-11-26 12:55:43 +01:00
Line.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
LineStyle.h LibGfx: Move Gfx::Painter::LineStyle => Gfx::LineStyle 2024-06-05 15:37:05 +02:00
Matrix.h LibGfx: Add an indexing operator to Matrix 2024-03-02 12:25:53 +01:00
Matrix3x3.h LibGfx: Add Matrix3x3 2021-12-30 14:24:29 +01:00
Matrix4x4.h LibGfx: Add Gfx::extract_2d_affine_transform(Matrix4x4) helper 2023-11-18 19:32:31 +01:00
MedianCut.cpp LibGfx: Add an implementation of the MedianCut algorithm 2024-05-18 18:30:07 +02:00
MedianCut.h LibGfx: Add an implementation of the MedianCut algorithm 2024-05-18 18:30:07 +02:00
Orientation.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Painter.cpp LibGfx: Introduce a new Gfx::Painter with a Skia backend 2024-08-20 09:30:05 +02:00
Painter.h LibWeb: Clip underlying Painter in CRC2D::clip() 2024-08-20 09:30:05 +02:00
PainterSkia.cpp LibGfx: Implement Gfx::AlphaType for SkiaPainter 2024-08-20 20:39:09 +02:00
PainterSkia.h LibWeb: Clip underlying Painter in CRC2D::clip() 2024-08-20 09:30:05 +02:00
PaintStyle.h LibGfx: Introduce a new Gfx::Painter with a Skia backend 2024-08-20 09:30:05 +02:00
Palette.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Palette.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Path.cpp LibGfx+LibWeb: Add new Path class with Skia backend, use for 2D canvas 2024-08-20 09:30:05 +02:00
Path.h LibGfx: Add Path::contains() 2024-09-18 21:21:57 +01:00
PathSkia.cpp LibGfx: Add Path::contains() 2024-09-18 21:21:57 +01:00
PathSkia.h LibGfx: Add Path::contains() 2024-09-18 21:21:57 +01:00
Point.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Point.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Quad.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Rect.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Rect.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
ScalingMode.h LibGfx: Move Gfx::Painter::ScalingMode => Gfx::ScalingMode 2024-06-05 15:37:05 +02:00
ShareableBitmap.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
ShareableBitmap.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Size.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Size.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
StandardCursor.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
SystemTheme.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
SystemTheme.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
TextAlignment.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
TextAttributes.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
TextLayout.cpp LibWeb: Strip tabs before text shaping 2024-10-22 21:42:54 +02:00
TextLayout.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
TIFFGenerator.py LibGfx/TIFF: Manually check for the presence of two baseline tags 2024-05-06 17:33:25 +02:00
Triangle.cpp Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Triangle.h Meta: Update my e-mail address everywhere 2024-10-04 13:19:50 +02:00
Vector2.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Vector3.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
Vector4.h Everywhere: Rename {Deprecated => Byte}String 2023-12-17 18:25:10 +03:30
VectorGraphic.cpp LibGfx: Rename Painter => DeprecatedPainter 2024-08-20 09:30:05 +02:00
VectorGraphic.h LibGfx: Rename Painter => DeprecatedPainter 2024-08-20 09:30:05 +02:00
VectorN.h LibGfx: Add VectorN::operator== 2024-03-02 12:25:53 +01:00
WindingRule.h LibGfx: Move Gfx::Painter::WindingRule => Gfx::WindingRule 2024-06-05 15:37:05 +02:00