diff --git a/Tests/LibWeb/Text/expected/DOM/Element-text-transform-fullwidth.txt b/Tests/LibWeb/Text/expected/DOM/Element-text-transform-fullwidth.txt
new file mode 100644
index 00000000000..09e956a8d86
--- /dev/null
+++ b/Tests/LibWeb/Text/expected/DOM/Element-text-transform-fullwidth.txt
@@ -0,0 +1,243 @@
+ [ ]
+[ ] !
+! "
+" #
+# $
+$ %
+% &
+& '
+' (
+( )
+) *
+* +
++ ,
+, -
+- .
+. /
+/ 0
+0 1
+1 2
+2 3
+3 4
+4 5
+5 6
+6 7
+7 8
+8 9
+9 :
+: ;
+; <
+< =
+= >
+> ?
+? @
+@ A
+A B
+B C
+C D
+D E
+E F
+F G
+G H
+H I
+I J
+J K
+K L
+L M
+M N
+N O
+O P
+P Q
+Q R
+R S
+S T
+T U
+U V
+V W
+W X
+X Y
+Y Z
+Z [
+[ \
+\ ]
+] ^
+^ _
+_ `
+` a
+a b
+b c
+c d
+d e
+e f
+f g
+g h
+h i
+i j
+j k
+k l
+l m
+m n
+n o
+o p
+p q
+q r
+r s
+s t
+t u
+u v
+v w
+w x
+x y
+y z
+z {
+{ |
+| }
+} ~
+~ ⦅
+⦅ ⦆
+⦆ 。
+。 「
+「 」
+」 、
+、 ・
+・ ヲ
+ヲ ァ
+ァ ィ
+ィ ゥ
+ゥ ェ
+ェ ォ
+ォ ャ
+ャ ュ
+ュ ョ
+ョ ッ
+ッ ー
+ー ア
+ア イ
+イ ウ
+ウ エ
+エ オ
+オ カ
+カ キ
+キ ク
+ク ケ
+ケ コ
+コ サ
+サ シ
+シ ス
+ス セ
+セ ソ
+ソ タ
+タ チ
+チ ツ
+ツ テ
+テ ト
+ト ナ
+ナ ニ
+ニ ヌ
+ヌ ネ
+ネ ノ
+ノ ハ
+ハ ヒ
+ヒ フ
+フ ヘ
+ヘ ホ
+ホ マ
+マ ミ
+ミ ム
+ム メ
+メ モ
+モ ヤ
+ヤ ユ
+ユ ヨ
+ヨ ラ
+ラ リ
+リ ル
+ル レ
+レ ロ
+ロ ワ
+ワ ン
+ン ゙
+ ゙ ゚
+ ゚ [ᅟ]
+[ᅠ] ᆨ
+ᄀ ㄲ
+ᄁ ᆪ
+ᆪ ᆫ
+ᄂ ᆬ
+ᆬ ᆭ
+ᆭ ᆮ
+ᄃ ᄄ
+ᄄ ᆯ
+ᄅ ᆰ
+ᆰ ᆱ
+ᆱ ᆲ
+ᆲ ᆳ
+ᆳ ᆴ
+ᆴ ᆵ
+ᆵ ㅀ
+ᄚ ᄆ
+ᄆ ᄇ
+ᄇ ᄈ
+ᄈ ᆹ
+ᄡ ᄉ
+ᄉ ᆻ
+ᄊ ᄋ
+ᄋ ᆽ
+ᄌ ᄍ
+ᄍ ᆾ
+ᄎ ᄏ
+ᄏ ᇀ
+ᄐ ᄑ
+ᄑ ᇂ
+ᄒ ᅡ
+ᅡ ᅢ
+ᅢ ᅣ
+ᅣ ᅤ
+ᅤ ᅥ
+ᅥ ᅦ
+ᅦ ᅧ
+ᅧ ᅨ
+ᅨ ᅩ
+ᅩ ᅪ
+ᅪ ᅫ
+ᅫ ᅬ
+ᅬ ᅭ
+ᅭ ᅮ
+ᅮ ᅯ
+ᅯ ᅰ
+ᅰ ᅱ
+ᅱ ᅲ
+ᅲ ᅳ
+ᅳ ᅴ
+ᅴ ᅵ
+ᅵ ¢
+¢ £
+£ ¬
+¬  ̄
+ ̄ ¦
+¦ ¥
+¥ ₩
+₩ │
+│ ←
+← ↑
+↑ →
+→ ↓
+↓ ■
+■ ○
+○ A
+A B
+B C
+C a
+a b
+b c
+c あ
+あ い
+い う
+う え
+え お
+お ア
+ア イ
+イ ウ
+ウ エ
+エ オ
+オ
diff --git a/Tests/LibWeb/Text/input/DOM/Element-text-transform-fullwidth.html b/Tests/LibWeb/Text/input/DOM/Element-text-transform-fullwidth.html
new file mode 100644
index 00000000000..cd5c8f94f80
--- /dev/null
+++ b/Tests/LibWeb/Text/input/DOM/Element-text-transform-fullwidth.html
@@ -0,0 +1,315 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
[ ]
[ ]
+
!
!
+
"
"
+
#
#
+
$
$
+
%
%
+
&
&
+
'
'
+
(
(
+
)
)
+
*
*
+
+
+
+
,
,
+
-
-
+
.
.
+
/
/
+
+
0
0
+
1
1
+
2
2
+
3
3
+
4
4
+
5
5
+
6
6
+
7
7
+
8
8
+
9
9
+
+
:
:
+
;
;
+
<
<
+
=
=
+
>
>
+
?
?
+
@
@
+
+
A
A
+
B
B
+
C
C
+
D
D
+
E
E
+
F
F
+
G
G
+
H
H
+
I
I
+
J
J
+
K
K
+
L
L
+
M
M
+
N
N
+
O
O
+
P
P
+
Q
Q
+
R
R
+
S
S
+
T
T
+
U
U
+
V
V
+
W
W
+
X
X
+
Y
Y
+
Z
Z
+
+
[
[
+
\
\
+
]
]
+
^
^
+
_
_
+
`
`
+
+
a
a
+
b
b
+
c
c
+
d
d
+
e
e
+
f
f
+
g
g
+
h
h
+
i
i
+
j
j
+
k
k
+
l
l
+
m
m
+
n
n
+
o
o
+
p
p
+
q
q
+
r
r
+
s
s
+
t
t
+
u
u
+
v
v
+
w
w
+
x
x
+
y
y
+
z
z
+
+
{
{
+
|
|
+
}
}
+
~
~
+
+
⦅
⦅
+
⦆
⦆
+
+
+
。
。
+
「
「
+
」
」
+
、
、
+
・
・
+
+
ヲ
ヲ
+
ァ
ァ
+
ィ
ィ
+
ゥ
ゥ
+
ェ
ェ
+
ォ
ォ
+
ャ
ャ
+
ュ
ュ
+
ョ
ョ
+
ッ
ッ
+
ー
ー
+
+
ア
ア
+
イ
イ
+
ウ
ウ
+
エ
エ
+
オ
オ
+
カ
カ
+
キ
キ
+
ク
ク
+
ケ
ケ
+
コ
コ
+
サ
サ
+
シ
シ
+
ス
ス
+
セ
セ
+
ソ
ソ
+
タ
タ
+
チ
チ
+
ツ
ツ
+
テ
テ
+
ト
ト
+
ナ
ナ
+
ニ
ニ
+
ヌ
ヌ
+
ネ
ネ
+
ノ
ノ
+
ハ
ハ
+
ヒ
ヒ
+
フ
フ
+
ヘ
ヘ
+
ホ
ホ
+
マ
マ
+
ミ
ミ
+
ム
ム
+
メ
メ
+
モ
モ
+
ヤ
ヤ
+
ユ
ユ
+
ヨ
ヨ
+
ラ
ラ
+
リ
リ
+
ル
ル
+
レ
レ
+
ロ
ロ
+
ワ
ワ
+
ン
ン
+
+
゙
゙
+
゚
゚
+
+
+
[ᅟ]
[ᅠ]
+
ᆨ
ᄀ
+
ㄲ
ᄁ
+
ᆪ
ᆪ
+
ᆫ
ᄂ
+
ᆬ
ᆬ
+
ᆭ
ᆭ
+
ᆮ
ᄃ
+
ᄄ
ᄄ
+
ᆯ
ᄅ
+
ᆰ
ᆰ
+
ᆱ
ᆱ
+
ᆲ
ᆲ
+
ᆳ
ᆳ
+
ᆴ
ᆴ
+
ᆵ
ᆵ
+
ㅀ
ᄚ
+
ᄆ
ᄆ
+
ᄇ
ᄇ
+
ᄈ
ᄈ
+
ᆹ
ᄡ
+
ᄉ
ᄉ
+
ᆻ
ᄊ
+
ᄋ
ᄋ
+
ᆽ
ᄌ
+
ᄍ
ᄍ
+
ᆾ
ᄎ
+
ᄏ
ᄏ
+
ᇀ
ᄐ
+
ᄑ
ᄑ
+
ᇂ
ᄒ
+
ᅡ
ᅡ
+
ᅢ
ᅢ
+
ᅣ
ᅣ
+
ᅤ
ᅤ
+
ᅥ
ᅥ
+
ᅦ
ᅦ
+
+
ᅧ
ᅧ
+
ᅨ
ᅨ
+
ᅩ
ᅩ
+
ᅪ
ᅪ
+
ᅫ
ᅫ
+
ᅬ
ᅬ
+
+
ᅭ
ᅭ
+
ᅮ
ᅮ
+
ᅯ
ᅯ
+
ᅰ
ᅰ
+
ᅱ
ᅱ
+
ᅲ
ᅲ
+
+
ᅳ
ᅳ
+
ᅴ
ᅴ
+
ᅵ
ᅵ
+
+
+
¢
¢
+
£
£
+
¬
¬
+
 ̄
¯
+
¦
¦
+
¥
¥
+
₩
₩
+
+
+
│
│
+
←
←
+
↑
↑
+
→
→
+
↓
↓
+
■
■
+
○
○
+
+
+
A
A
+
B
B
+
C
C
+
+
a
a
+
b
b
+
c
c
+
+
+
あ
あ
+
い
い
+
う
う
+
え
え
+
お
お
+
+
ア
ア
+
イ
イ
+
ウ
ウ
+
エ
エ
+
オ
オ
+
+
+
+
+
diff --git a/Userland/Libraries/LibWeb/Layout/TextNode.cpp b/Userland/Libraries/LibWeb/Layout/TextNode.cpp
index 0663e00d935..79f19daab5f 100644
--- a/Userland/Libraries/LibWeb/Layout/TextNode.cpp
+++ b/Userland/Libraries/LibWeb/Layout/TextNode.cpp
@@ -293,11 +293,14 @@ static ErrorOr apply_text_transform(String const& string, CSS::TextTrans
case CSS::TextTransform::Capitalize: {
return string.to_titlecase(locale, TrailingCodePointTransformation::PreserveExisting);
}
- case CSS::TextTransform::FullSizeKana:
- case CSS::TextTransform::FullWidth:
- // FIXME: Implement these!
+ case CSS::TextTransform::FullSizeKana: {
+ // FIXME: Implement this!
return string;
}
+ case CSS::TextTransform::FullWidth: {
+ return string.to_fullwidth();
+ }
+ }
VERIFY_NOT_REACHED();
}