From 77623ef7861c1008193ede4cf0f1bf49ba56d8c2 Mon Sep 17 00:00:00 2001 From: torusrxxx Date: Sun, 1 Dec 2024 11:14:03 +0800 Subject: [PATCH] Support CSS property text-orientation --- src/freenet/client/filter/CSSTokenizerFilter.java | 6 ++++++ test/freenet/client/filter/CSSParserTest.java | 1 + 2 files changed, 7 insertions(+) diff --git a/src/freenet/client/filter/CSSTokenizerFilter.java b/src/freenet/client/filter/CSSTokenizerFilter.java index 54aa809579..855854005c 100644 --- a/src/freenet/client/filter/CSSTokenizerFilter.java +++ b/src/freenet/client/filter/CSSTokenizerFilter.java @@ -327,6 +327,7 @@ public static T[] concat(T[] a, T[] b) { allelementVerifiers.add("text-emphasis-style"); allelementVerifiers.add("text-indent"); allelementVerifiers.add("text-justify"); + allelementVerifiers.add("text-orientation"); allelementVerifiers.add("text-outline"); allelementVerifiers.add("text-overflow"); allelementVerifiers.add("text-shadow"); @@ -1688,6 +1689,11 @@ else if("text-justify".equalsIgnoreCase(element)) elementVerifiers.put(element,new CSSPropertyVerifier(Arrays.asList("auto"),ElementInfo.VISUALMEDIA,null,Arrays.asList("84a83"))); allelementVerifiers.remove(element); } + else if("text-orientation".equalsIgnoreCase(element)) + { + elementVerifiers.put(element,new CSSPropertyVerifier(Arrays.asList("mixed","upright","sideways","sideways-right"),ElementInfo.VISUALMEDIA)); + allelementVerifiers.remove(element); + } else if("text-outline".equalsIgnoreCase(element)) { auxilaryVerifiers[108]=new CSSPropertyVerifier(null,null,Arrays.asList("73 72 72<0,1>"),null,true); diff --git a/test/freenet/client/filter/CSSParserTest.java b/test/freenet/client/filter/CSSParserTest.java index 7fa05ed5df..578d1e4138 100644 --- a/test/freenet/client/filter/CSSParserTest.java +++ b/test/freenet/client/filter/CSSParserTest.java @@ -994,6 +994,7 @@ public class CSSParserTest { propertyTests.put("#x { dominant-baseline: alphabetic; }", "#x { dominant-baseline: alphabetic; }"); propertyTests.put("#x { margin-block: 3px 3%; margin-inline: 5%; margin-inline-end: 4px; margin-inline-start: auto; }", "#x { margin-block: 3px 3%; margin-inline: 5%; margin-inline-end: 4px; margin-inline-start: auto; }"); propertyTests.put("#x { padding-block: 3px 3%; padding-inline: 5%; padding-inline-end: 4px; padding-inline-start: 1em; }", "#x { padding-block: 3px 3%; padding-inline: 5%; padding-inline-end: 4px; padding-inline-start: 1em; }"); + propertyTests.put("#x { text-orientation: upright; }", "#x { text-orientation: upright; }"); propertyTests.put("#x { scroll-snap-align: start end; }", "#x { scroll-snap-align: start end; }"); propertyTests.put("#x { scroll-snap-stop: always; }", "#x { scroll-snap-stop: always; }"); propertyTests.put("#x { scroll-snap-type: both proximity; }", "#x { scroll-snap-type: both proximity; }");