Khaled Hosny
02c7caae9a
svgio: font-variation-settings is an inherited property
...
It is inherited per CSS Fonts, so the children of a group must inherit
it when set on the group.
Change-Id: I3a7f1c58b249e0d647c3b8a15f9e2043b7d6c891
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209212
Reviewed-by: Khaled Hosny <khaled@libreoffice.org >
Tested-by: Jenkins
2026-08-17 22:51:42 +02:00
Karthik
2e4112e55a
svg: Correctly import "baseline-shift"
...
If the `baseline-shift` is a percentage it should be imported relative
to the font-size. Currently it's being imported relative to the parent's
`baseline-shift`
reference: https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/baseline-shift
Change-Id: I5443e4ce748b423d074e0ca03bb4172607bd52ac
Signed-off-by: Karthik <karthik.godha@collabora.com >
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3097
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com >
Tested-by: Jenkins CPCI <releng@collaboraoffice.com >
Reviewed-by: Michael Stahl <michael.stahl@collabora.com >
(cherry picked from commit 0e1af2c9f8e95f14deb0e4643bef90cf98065aa5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205780
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2026-05-28 09:28:05 +02:00
Khaled Hosny
1a571fde09
tdf#118792: Add support for font-variation-settings in SVG import
...
Change-Id: Iaae0426667a3d9357a3c714c6c63f52f79f06706
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203286
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaled@libreoffice.org >
2026-04-08 10:09:39 +02:00
Xisco Fauli
99d19aebd3
tdf#168372: remove surrounding apostrophes in font-family
...
Change-Id: I94ef4ae8aa5aa7aa27602e959f80eb17c83679ce
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197864
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2026-01-23 11:32:59 +01:00
Caolán McNamara
50b4e6d6b4
drop CJK text from systemLanguage switch example
...
because we run this test with set_non_application_font_use=abort so we
don't expect any glyph substitution, and the default setup is without
any bundled Japanese font.
Change-Id: I2e7ead7404fbacb768c06502a52cde629c1a1116
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195407
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com >
2025-12-12 10:41:46 +01:00
Xisco Fauli
f127f708f6
tdf#168452: support unicode-bidi in svg
...
Before this change, getBiDiStrong() was never used
to manipulate the text
Change-Id: I9d6a2e8b79d27126902f2be84174c641ec71c28c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191123
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2025-09-18 16:34:18 +02:00
Xisco Fauli
4d9a323a83
tdf#168378: invert text anchor in RTL
...
Change-Id: Ia9b7e526ab20cbcdb521f965a5a2dc0726894209
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/191018
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2025-09-16 15:28:30 +02:00
Xisco Fauli
4efae74abc
tdf#168421: support RTL text direction in svg
...
Change-Id: Iba8853d131bf88be3cc94003a73ffe545cf62004
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190978
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2025-09-15 22:39:35 +02:00
Xisco Fauli
42e566654a
tdf#167147: Support transparent fill color
...
Change-Id: I5a38a52f2720f58bc2762d328fb6a5e4090c6dde
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186780
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2025-06-21 16:17:43 +02:00
Xisco Fauli
1ad1b3e833
tdf#164434: svgio: Add unittest
...
Change-Id: Id66f344c785f1771debcc8bd2e09c8a04da4c989
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180165
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2025-01-13 12:26:17 +01:00
Xisco Fauli
16684eb4ba
tdf#163212: context-fill/context-stroke can also use gradients
...
Change-Id: Ic6f7f5e0817d8f5fccee64938004aa899bde47dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174382
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
Tested-by: Jenkins
2024-10-02 14:31:47 +02:00
Xisco Fauli
8c5f93ee35
tdf#161985: getOpacity is also called from other places
...
Partially revert 56039daae4
"tdf#149673: only check opacity from parent..." to make
getOpacity behave as before and move the new behaviour
of getOpacity inside add_postProcess
Change-Id: If475cddbc4967308fa06adacda621cb3790c6f70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170376
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
Tested-by: Jenkins
2024-07-11 17:09:43 +02:00
Xisco Fauli
1a7c927f6f
tdf#161213: fill can use context-stroke and vice versa
...
Change-Id: Id127bd4943ff1b67915d1de3ba4fcf93dab21423
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168774
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-06-13 14:47:33 +02:00
Xisco Fauli
3b0f96a077
tdf#155651: Add support for "context-fill"
...
Change-Id: I6f96cc7c059ece5f9401fc0ae552cf279e53109c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167230
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
Tested-by: Jenkins
2024-05-06 22:02:01 +02:00
Xisco Fauli
d75a37a582
tdf#155651: Add support for "context-stroke"
...
Change-Id: Ib4f4a7b644d0d6c6b36e31b80fd7adc18999110d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167024
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-05-03 11:50:42 +02:00
Xisco Fauli
98935eef13
tdf#159661, tdf#160773: svgio: Add unittest
...
Change-Id: I2d0b96f13e02ac81b97ea347889c76770c22a989
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166509
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-04-23 14:05:04 +02:00
Xisco Fauli
851f60697d
tdf#159660: also add normal blend filter
...
Change-Id: I3edc7495975618357f002536857a11dcc72cc0b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166460
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-04-22 18:43:08 +02:00
Xisco Fauli
1097686ebd
tdf#160782: convert to bitmapEx from 0,0 to width,height
...
This is the way it's done everywhere.
Partially revert 4b6e0f2c88
"tdf#160726, tdf#48062: Simplify how BitmapExs are created"
Change-Id: I15fea0b6855a65da7cb48b24fc00ba303e33dcf8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166456
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-04-22 17:38:15 +02:00
Xisco Fauli
41368edc6e
tdf#159660: Add support for lighten mode in feBlend
...
Change-Id: I17471a9c70a38d05de5ad476f817285fb2438e5a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166429
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-04-22 15:20:16 +02:00
Xisco Fauli
a9f1b70527
tdf#159660: Add support for darken mode in feBlend
...
Change-Id: I56862163b7bf1177120081c95ab7851a5fc4019b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166428
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-04-22 14:55:44 +02:00
Xisco Fauli
fdf3027a0e
tdf#159660: Add support for multiply mode in feBlend
...
Change-Id: I03230e122a10dd6ada6af357c674c278b6b99d9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166427
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-04-22 14:55:37 +02:00
Xisco Fauli
357e390be4
tdf#159660: premultiply colors for screen blend
...
This is needed after 4b6e0f2c88
"tdf#160726, tdf#48062: Simplify how BitmapExs are created"
Otherwise, only the common area is displayed
Change-Id: I40c798380049e62df8729c4acdb5db50d988d8e1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166426
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-04-22 13:31:44 +02:00
Xisco Fauli
4b6e0f2c88
tdf#160726, tdf#48062: Simplify how BitmapExs are created
...
In my initial approach, I tranformed the primitive2DContainers
before converting them to BitmapEx. This caused circles like
https://bugs.documentfoundation.org/attachment.cgi?id=193790
not to be displayed.
Simplify how BitmapExs are created by just using the range both
primitive2DContainers have in common. This way, DrawBitmapInRect
can be dropped now
Change-Id: I2401dc87b98e04b9cf9f5ebade2b5622d884fc3a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166391
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org >
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-04-22 11:53:41 +02:00
Xisco Fauli
01479c742f
tdf#160721: nothing is displayed in case of wrong 'in' reference
...
Change-Id: I746ec8a12dba7832241693dac7f20788a2fa85bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166267
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-04-19 09:08:25 +02:00
Mike Kaganski
86a8a3a43b
tdf#160594: Use the recommended fallback of 0.5em for ex in font-size
...
This fixes the error of identical treatment of em and ex in font-size,
which violated https://drafts.csswg.org/css-values-4/#font-relative-length .
The fix uses the fallback of 0.5em for ex, similar to the code used in
SvgNumber::solveNonPercentage. A follow-up should implement the correct
use of "x-height of the first available font".
Change-Id: Id9d581994e158d629d9752299ad93ac7e9fe4cad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166234
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com >
2024-04-18 18:21:15 +02:00
Mike Kaganski
e275726861
tdf#160593: make sure to use current element's font size for em unit
...
According to https://drafts.csswg.org/css-values-4/#font-relative-length
em is "equal to the computed value of the font-size property of the element
on which it is used". This means, that for an element that defines its own
font-size, attributes like 'dy' using em refer to the new font-size, not to
inherited font-size.
Change-Id: Ie5a013df99a68edddf466e4c0ee5311f6219fcb2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166233
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com >
2024-04-18 18:21:09 +02:00
Xisco Fauli
0a2535ceb0
tdf#160386: Add support for switch element
...
For now, only use language tag, meaning if
there is a file like in the unittest with
<text systemLanguage="en-us">Howdy!</text>
<text systemLanguage="en-gb">Wotcha!</text>
<text systemLanguage="en-au">G'day!</text>
<text systemLanguage="en">Hello!</text>
"Hello!" with be displayed in a en_AU system locale
This patch partially reverts 13a41e7a12
"tdf#150124: do nothing when parent is of unkown type"
making 0dfd8288a8
"ofz#60384 Direct-leak" no longer necessary
Change-Id: Ifc73bc69aa997088dc0a2b11d7d30446303fa3b3
Change-Id: I885ef0f2c44b86196881fe55a963db2e5c7eb1be
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165394
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-03-27 23:44:40 +01:00
Xisco Fauli
6b15374d18
tdf#156579: svgio: Add unittest
...
Change-Id: I77ab0c72209fa02c6e463351e8cda09213d47ac3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165399
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org >
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-03-27 22:03:09 +01:00
Xisco Fauli
feb4e0890b
tdf#160373: Iterate over all parents to check whether it's a clipPath content
...
Change-Id: I383ec264e4c88ebcee2ae6a839b762bba8abfc12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165347
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-03-26 18:38:59 +01:00
Xisco Fauli
b240f6198f
tdf#48062: Add support for xor, in and out operators in feComposite
...
atop and arithmetic are still missing
Change-Id: I9b5bfeaa87b48071708ca4cb082916ea5f260adb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164852
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-03-15 01:06:22 +01:00
Xisco Fauli
626047baba
tdf#48062: Add support for feComposite filter
...
At the moment, only 'over' operator is supported
Change-Id: If21c9ba39b3cd0b772ea27165cda7ae40fb42d60
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164765
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-03-13 19:02:38 +01:00
Xisco Fauli
af8a899840
tdf#159660: Add support for feBlend filter
...
At the moment, only the 'normal' mode is supported
Change-Id: I31d1536e03e938ce0f7304a37eb6c1071ecfcf4d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164763
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-03-13 19:02:31 +01:00
Xisco Fauli
73e5b6667c
tdf#159660: Add support for feMerge and feMergeNode
...
Change-Id: I52e35f6eb5efc7b064145486aa4e6fb2366b143c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164722
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-03-12 23:03:33 +01:00
Xisco Fauli
a661f9a2e0
tdf#159968: Support overflow:visible in marker element
...
Change-Id: I4ea648cf94a4bb321a78843a9898769a69c5630d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164224
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-03-01 21:46:01 +01:00
Xisco Fauli
c73f3491be
tdf#159947: Add support for in and result filter attributes
...
Change-Id: I8bc7e319a64c528893de8454c64545146ad4e9d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164108
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-02-29 17:52:05 +01:00
Xisco Fauli
23293fc6a7
tdf#159594: reuse target for symbols' children
...
Regression from e7186b49a9
"tdf#158445: support viewBox in symbol elements"
Change-Id: Ie2198c47149def17fa3cb612046b61bf32e873bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163046
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-02-06 15:12:38 +01:00
Xisco Fauli
f0d6b3e727
tdf#159566: match 'central' dominant-baseline to 'middle'
...
Inkscape also does it the same way
Change-Id: I3e1cea091e7314886bbc9135c55698892239bec7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163006
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-02-05 16:44:05 +01:00
Xisco Fauli
e7186b49a9
tdf#158445: support viewBox in symbol elements
...
Change-Id: Ie45b1e1dd4a4dcfc3cf3ce3d30f8dd9e040e37fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162605
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2024-01-26 19:31:03 +01:00
Caolán McNamara
2f2803a77a
Related: tdf#157939 put CppunitTest_svgio under non_application_font_use:abort
...
Change-Id: Ib48e8045ad739b6f6fe98ab00cd609b54d4c3113
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158843
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com >
2023-11-02 21:01:26 +01:00
Xisco Fauli
ee9b13668c
tdf#97710: do not create nonzero conform for polyline
...
Change-Id: Ib9d4e957b83ad84b79ae4ade5c6be3ab3d9d8028
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157286
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2023-09-26 21:53:32 +02:00
Xisco Fauli
12f271ac51
tdf#156569: '%' can be in the middle of the string
...
Change-Id: I5d6ab57c17ab2cbce4d3df629a91a006fad2198d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156564
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2023-09-05 16:30:23 +02:00
Xisco Fauli
b224733640
tdf#129356: handle css combinator when the element name is combined...
...
... with the ID or the class
While at it, simplify the code a bit
Change-Id: I9e36f334b884d31229568835a346d4427a47c760
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155945
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2023-08-22 20:06:24 +02:00
Xisco Fauli
8fa209ce2e
tdf#156834: Add basic support for dominant-baseline attribute
...
Change-Id: I005d6ca6bc340d73cae639ccd09321a0a00bc4b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155892
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2023-08-21 19:59:27 +02:00
Xisco Fauli
56a3603287
tdf#156837: check baseline-shift from parent too
...
Change-Id: I6e62d794dd4410447db3bee26c1e18fe9dad6a9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155895
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2023-08-21 15:49:15 +02:00
Xisco Fauli
8b96439601
tdf#142424: Revert "related tdf#156579: just break for switch element"
...
This reverts commit e222f60ac2 .
To make the switch element behave like a
group as least, so the transform attribute is parsed
Change-Id: Id8c21ac6da217d8f7bc350ff41022335bf1e0f1f
Change-Id: If1e53f9baad8995f26f9b885cfef6265040736bc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155758
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2023-08-18 01:09:04 +02:00
Xisco Fauli
20f57e1436
tdf#156777: check for css style in textpath
...
Change-Id: I63a274dd9fba37852412a194a490cb2b7634f1cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155726
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org >
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2023-08-15 21:42:31 +02:00
Xisco Fauli
a2b6be8af9
tdf#86938: fix calculation of baseline-shift
...
Change-Id: I8c30c29052f2ea1fe6e49360b972af868851131b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155671
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2023-08-15 03:53:18 +02:00
Xisco Fauli
5cfd31e505
tdf#93583: use getTextWidth to calculate line's width
...
Since every character in the line might use different styles
Change-Id: I2ce079d4308f4acde42a8366838749a7c20331b4
Change-Id: I01f51f157caa667cebc8860ae37d4458fac2d511
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155666
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2023-08-15 03:53:06 +02:00
Xisco Fauli
dcb3cb0bd4
tdf#156616: check if character's parent has x or y
...
if so, only concatenate the characters that are in the same line
so the alignment will be calculated based on the
line's width
Change-Id: I704370c0a470f8b4cff97c51ad9863158118ee8a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155636
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2023-08-12 10:00:29 +02:00
Xisco Fauli
2795a23046
tdf#151103: Use the whole text line to calculate the align position
...
Change-Id: I7ecd41c422afbf028101924972c47a510834ba5a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155314
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org >
2023-08-03 18:36:56 +02:00