mirror of https://gitee.com/openkylin/vte2.91.git
288 lines
16 KiB
Plaintext
288 lines
16 KiB
Plaintext
╔════════════════════════════╗
|
||
═════════════════════════╣ BiDi test – for 80 columns ╠═════════════════════════
|
||
╚════════════════════════════╝
|
||
|
||
Test cases are structured like this:
|
||
|
||
[01mTitle (bold)[m
|
||
Optional LTR explanation of the logical order (normal)
|
||
[32mReference rendering using similarly looking LTR glyphs (green)[m
|
||
[36mActual rendering, needs to match the reference rendering (cyan)[m
|
||
|
||
All words, except for the explanation of the logical order wherever it’s
|
||
deliberately reversed, should show up in human readable order.
|
||
|
||
Some test cases are marked as “should look broken”. This means that the
|
||
overall look is not what humans are looking for; still, the actual rendering
|
||
needs to match the reference rendering.
|
||
|
||
At Arabic shaping tests, runs of connected letters are denoted.
|
||
|
||
At box tests the reference rendering is upside down, so you should get nice
|
||
squares everywhere.
|
||
|
||
┌──────────────────┐
|
||
──────────────────────────────┤ 1 – Implicit LTR ├──────────────────────────────
|
||
└──────────────────┘
|
||
[01mLTR + RTL[m
|
||
[00mHello1 ⸤Hello23⸣ Hello456 Shlm1 ⸤Shlm23⸣ Shlm456[m
|
||
[32mHello1 ⸤Hello23⸣ Hello456 456oi7w ⸢23oi7w⸥ 1oi7w[m
|
||
[36mHello1 ⸤Hello23⸣ Hello456 שָׁלוֹם1 ⸤שָׁלוֹם23⸣ שָׁלוֹם456[m
|
||
|
||
[01mRTL + LTR[m
|
||
[00mShlm1 ⸤Shlm23⸣ Shlm456 Hello1 ⸤Hello23⸣ Hello456[m
|
||
[32m456oi7w ⸢23oi7w⸥ 1oi7w Hello1 ⸤Hello23⸣ Hello456[m
|
||
[36mשָׁלוֹם1 ⸤שָׁלוֹם23⸣ שָׁלוֹם456 Hello1 ⸤Hello23⸣ Hello456[m
|
||
|
||
[01mParagraph wrapping at foreign word[m
|
||
[32mLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor w[m
|
||
[32moi7 incididunt ut labore et dolore magna aliqua.[m
|
||
[36mLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor שָׁלוֹם incididunt ut labore et dolore magna aliqua.[m
|
||
|
||
[01mDouble wide[m
|
||
[32ma<z n>x[m
|
||
[36ma<z א<ת[m
|
||
|
||
[01mArabic shaping[m
|
||
[32m──╶╶╶─╶ ─── ─────╶ ─ ───╶──╶[m
|
||
[36mالطرفية – استعمل سطر الأوامر[m
|
||
|
||
[01mCombining accents[m
|
||
[00mShlm Hungarian accents demo[m
|
||
[32moi7w Árvíztűrő tükörfúrógép[m
|
||
[36mשָׁלוֹם Árvíztűrő tükörfúrógép[m
|
||
|
||
[01mBox[m
|
||
[32m┏━┓ a╔═╗z n┌─┐x ╭─╮[m
|
||
[36m┗━┛ a╚═╝z א┘─└ת ╰─╯[m
|
||
|
||
[01mBox in mirrored mode[m
|
||
[32m┏━┓ a╔═╗z n┌─┐x ╭─╮[m[?2500h
|
||
[36m┗━┛ a╚═╝z א└─┘ת ╰─╯[m[?2500l
|
||
|
||
┌──────────────────┐
|
||
──────────────────────────────┤ 2 – Implicit RTL ├──────────────────────────────
|
||
└──────────────────┘
|
||
[01mLTR + RTL[m
|
||
[00mHello1 ⸤Hello23⸣ Hello456 Shlm1 ⸤Shlm23⸣ Shlm456[m
|
||
[32m456oi7w ⸢23oi7w⸥ 1oi7w Hello1 ⸤Hello23⸣ Hello456[m
|
||
[36m[2 kHello1 ⸤Hello23⸣ Hello456 שָׁלוֹם1 ⸤שָׁלוֹם23⸣ שָׁלוֹם456[1 k[m
|
||
|
||
[01mRTL + LTR[m
|
||
[00mShlm1 ⸤Shlm23⸣ Shlm456 Hello1 ⸤Hello23⸣ Hello456[m
|
||
[32mHello1 ⸤Hello23⸣ Hello456 456oi7w ⸢23oi7w⸥ 1oi7w[m
|
||
[36m[2 kשָׁלוֹם1 ⸤שָׁלוֹם23⸣ שָׁלוֹם456 Hello1 ⸤Hello23⸣ Hello456[1 k[m
|
||
|
||
[01mParagraph with wrong direction (should look broken)[m
|
||
[32mw Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor[m
|
||
[32m.incididunt ut labore et dolore magna aliqua oi7[m
|
||
[36m[2 kLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor שָׁלוֹם incididunt ut labore et dolore magna aliqua.[1 k[m
|
||
|
||
[01mDouble wide[m
|
||
[32ma<z n>x[m
|
||
[36m[2 kא<ת a<z[1 k[m
|
||
|
||
[01mArabic shaping[m
|
||
[32m──╶╶╶─╶ ─── ─────╶ ─ ───╶──╶[m
|
||
[36m[2 kالطرفية – استعمل سطر الأوامر[1 k[m
|
||
|
||
[01mOld Hungarian Rovásírás[m
|
||
[00m(font at https://github.com/OldHungarian/old-hungarian-font)[m
|
||
[32mΛᛩHTΛᛩMↄH ↄ4TH4Λↄ¤ᛝ +ΛↃ[m
|
||
[36m[2 k𐲛𐳖𐳇 𐲏𐳪𐳙𐳍𐳀𐳢𐳐𐳀𐳙 𐲢𐳛𐳮𐳁𐳤𐳑𐳢𐳁𐳤[1 k[m
|
||
|
||
[01mCombining accents[m
|
||
[00mShlm Hungarian accents demo[m
|
||
[32m Árvíztűrő tükörfúrógép oi7w[m
|
||
[36m[2 kשָׁלוֹם Árvíztűrő tükörfúrógép[1 k[m
|
||
|
||
[01mBox[m
|
||
[32m╭─╮ a┌─┐z n╔═╗x ┏━┓[m[2 k
|
||
[36m┛━┗ א╝═╚ת a└─┘z ╯─╰[m[1 k
|
||
|
||
[01mBox in mirrored mode[m
|
||
[32m╭─╮ a┌─┐z n╔═╗x ┏━┓[m[2 k[?2500h
|
||
[36m┗━┛ א╚═╝ת a└─┘z ╰─╯[m[?2500l[1 k
|
||
|
||
┌──────────────────────────────────┐
|
||
──────────────────────┤ 3 – Implicit auto (LTR fallback) ├──────────────────────
|
||
└──────────────────────────────────┘
|
||
[01mLTR + RTL[m
|
||
[00mHello1 ⸤Hello23⸣ Hello456 Shlm1 ⸤Shlm23⸣ Shlm456[m
|
||
[32mHello1 ⸤Hello23⸣ Hello456 456oi7w ⸢23oi7w⸥ 1oi7w[m
|
||
[36m[?2501hHello1 ⸤Hello23⸣ Hello456 שָׁלוֹם1 ⸤שָׁלוֹם23⸣ שָׁלוֹם456[?2501l[m
|
||
|
||
[01mRTL + LTR[m
|
||
[00mShlm1 ⸤Shlm23⸣ Shlm456 Hello1 ⸤Hello23⸣ Hello456[m
|
||
[32mHello1 ⸤Hello23⸣ Hello456 456oi7w ⸢23oi7w⸥ 1oi7w[m
|
||
[36m[?2501hשָׁלוֹם1 ⸤שָׁלוֹם23⸣ שָׁלוֹם456 Hello1 ⸤Hello23⸣ Hello456[?2501l[m
|
||
|
||
[01mParagraph wrapping at foreign word[m
|
||
[32mLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor w[m
|
||
[32moi7 incididunt ut labore et dolore magna aliqua.[m
|
||
[36m[?2501hLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor שָׁלוֹם incididunt ut labore et dolore magna aliqua.[?2501l[m
|
||
|
||
[01mArabic shaping[m
|
||
[32m──╶╶╶─╶ ─── ─────╶ ─ ───╶──╶[m
|
||
[36m[?2501hالطرفية – استعمل سطر الأوامر[?2501l[m
|
||
|
||
[01mCombining accents[m
|
||
[00mShlm Hungarian accents demo[m
|
||
[32m Árvíztűrő tükörfúrógép oi7w[m
|
||
[36m[?2501hשָׁלוֹם Árvíztűrő tükörfúrógép[?2501l[m
|
||
|
||
[01mBox[m
|
||
[32m┏━┓ a╔═╗z n┌─┐x ╭─╮[m[?2501h
|
||
[36m┗━┛ a╚═╝z א┘─└ת ╰─╯[m[?2501l
|
||
|
||
[01mBox in mirrored mode[m
|
||
[32m┏━┓ a╔═╗z n┌─┐x ╭─╮[m[?2501h[?2500h
|
||
[36m┗━┛ a╚═╝z א└─┘ת ╰─╯[m[?2500l[?2501l
|
||
|
||
┌──────────────────────────────────┐
|
||
──────────────────────┤ 4 – Implicit auto (RTL fallback) ├──────────────────────
|
||
└──────────────────────────────────┘
|
||
[01mLTR + RTL[m
|
||
[00mHello1 ⸤Hello23⸣ Hello456 Shlm1 ⸤Shlm23⸣ Shlm456[m
|
||
[32mHello1 ⸤Hello23⸣ Hello456 456oi7w ⸢23oi7w⸥ 1oi7w[m
|
||
[36m[2 k[?2501hHello1 ⸤Hello23⸣ Hello456 שָׁלוֹם1 ⸤שָׁלוֹם23⸣ שָׁלוֹם456[?2501l[1 k[m
|
||
|
||
[01mRTL + LTR[m
|
||
[00mShlm1 ⸤Shlm23⸣ Shlm456 Hello1 ⸤Hello23⸣ Hello456[m
|
||
[32mHello1 ⸤Hello23⸣ Hello456 456oi7w ⸢23oi7w⸥ 1oi7w[m
|
||
[36m[2 k[?2501hשָׁלוֹם1 ⸤שָׁלוֹם23⸣ שָׁלוֹם456 Hello1 ⸤Hello23⸣ Hello456[?2501l[1 k[m
|
||
|
||
[01mParagraph wrapping at foreign word[m
|
||
[32mLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor w[m
|
||
[32moi7 incididunt ut labore et dolore magna aliqua.[m
|
||
[36m[2 k[?2501hLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor שָׁלוֹם incididunt ut labore et dolore magna aliqua.[?2501l[1 k[m
|
||
|
||
[01mArabic shaping[m
|
||
[32m──╶╶╶─╶ ─── ─────╶ ─ ───╶──╶[m
|
||
[36m[2 k[?2501hالطرفية – استعمل سطر الأوامر[?2501l[1 k[m
|
||
|
||
[01mCombining accents[m
|
||
[00mShlm Hungarian accents demo[m
|
||
[32m Árvíztűrő tükörfúrógép oi7w[m
|
||
[36m[2 k[?2501hשָׁלוֹם Árvíztűrő tükörfúrógép[?2501l[1 k[m
|
||
|
||
[01mBox[m
|
||
[32m╭─╮ a┌─┐z n╔═╗x ┏━┓[m[2 k[?2501h
|
||
[36m┛━┗ א╝═╚ת a└─┘z ╯─╰[m[?2501l[1 k
|
||
|
||
[01mBox in mirrored mode[m
|
||
[32m╭─╮ a┌─┐z n╔═╗x ┏━┓[m[2 k[?2501h[?2500h
|
||
[36m┗━┛ א╚═╝ת a└─┘z ╰─╯[m[?2500l[?2501l[1 k
|
||
|
||
┌──────────────────┐
|
||
──────────────────────────────┤ 5 – Explicit LTR ├──────────────────────────────
|
||
└──────────────────┘
|
||
[01mLTR + fake RTL[m
|
||
[00m⸤Hello⸣ ⸤mlhS⸣[m
|
||
[32m⸤Hello⸣ ⸤oi7w⸣[m
|
||
[36m[8l⸤Hello⸣ ⸤םוֹלשָׁ⸣[8h[m
|
||
|
||
[01mFake RTL + RTL[m
|
||
[00m⸤mlhS⸣ ⸤Hello⸣[m
|
||
[32m⸤oi7w⸣ ⸤Hello⸣[m
|
||
[36m[8l⸤םוֹלשָׁ⸣ ⸤Hello⸣[8h[m
|
||
|
||
[01mArabic shaping[m
|
||
[32m──╶╶╶─╶ ─── ─────╶ ─ ───╶──╶[m
|
||
[36m[8lرماوألا رطس لمعتسا – ةيفرطلا[8h[m
|
||
|
||
[01mCombining accents[m
|
||
[00mmlhS Hungarian accents demo[m
|
||
[32moi7w Árvíztűrő tükörfúrógép[m
|
||
[36m[8lםוֹלשָׁ Árvíztűrő tükörfúrógép[8h[m
|
||
|
||
[01mBox[m
|
||
[32m┏━┓ a╔═╗z n┌─┐x ╭─╮[m[8l
|
||
[36m┗━┛ a╚═╝z ת└─┘א ╰─╯[m[8h
|
||
|
||
[01mBox in mirrored mode[m
|
||
[32m┏━┓ a╔═╗z n┌─┐x ╭─╮[m[8l[?2500h
|
||
[36m┗━┛ a╚═╝z ת└─┘א ╰─╯[m[?2500l[8h
|
||
|
||
┌──────────────────┐
|
||
──────────────────────────────┤ 6 – Explicit RTL ├──────────────────────────────
|
||
└──────────────────┘
|
||
[01mFake LTR + RTL[m
|
||
[00m⸤olleH⸣ ⸤Shlm⸣[m
|
||
[32m⸢oi7w⸥ ⸢Hello⸥[m
|
||
[36m[8l[2 k⸤olleH⸣ ⸤שָׁלוֹם⸣[1 k[8h[m
|
||
|
||
[01mRTL + fake LTR[m
|
||
[00m⸤Shlm⸣ ⸤olleH⸣[m
|
||
[32m⸢Hello⸥ ⸢oi7w⸥[m
|
||
[36m[8l[2 k⸤שָׁלוֹם⸣ ⸤olleH⸣[1 k[8h[m
|
||
|
||
[01mFullwidth characters with underlines[m
|
||
[32m[Lorem [4mipsum[24m dolor [21msit[24m amet)[m
|
||
[36m[8l[2 k(tema [21mtis[24m rolod [4mmuspi[24m meroL][1 k[8h[m
|
||
|
||
[01mArabic shaping[m
|
||
[32m──╶╶╶─╶ ─── ─────╶ ─ ───╶──╶[m
|
||
[36m[8l[2 kالطرفية – استعمل سطر الأوامر[1 k[8h[m
|
||
|
||
[01mCombining accents[m
|
||
[00mShlm omed stnecca nairagnuH[m
|
||
[32m Árvíztűrő tükörfúrógép oi7w[m
|
||
[36m[8l[2 k[?2501hשָׁלוֹם pégórúfröküt őrűtzívrÁ[?2501l[1 k[8h[m
|
||
|
||
[01mBox[m
|
||
[32m╭─╮ a┌─┐z n╔═╗x ┏━┓[m[8l[2 k
|
||
[36m┛━┗ א╝═╚ת z┘─└a ╯─╰[m[1 k[8h
|
||
|
||
[01mBox in mirrored mode[m
|
||
[32m╭─╮ a┌─┐z n╔═╗x ┏━┓[m[8l[2 k[?2500h
|
||
[36m┗━┛ א╚═╝ת z└─┘a ╰─╯[m[?2500l[1 k[8h
|
||
|
||
┌────────────────┐
|
||
───────────────────────────────┤ 7 – Misc tests ├───────────────────────────────
|
||
└────────────────┘
|
||
[01mNumbers inside RTL, across linebreak[m
|
||
[00mjumps Shalom 123 456 789 Shalom![m
|
||
[32mThe quick brown fox jumps over the lazy dog The quick brown fox jumps 4 123 oi7w[m
|
||
[32moi7w 789 56![m
|
||
[36mThe quick brown fox jumps over the lazy dog The quick brown fox jumps שָׁלוֹם 123 456 789 שָׁלוֹם![m
|
||
|
||
[01mMirroring across linebreak[m
|
||
[00mjumps Shalom <[<[<[<[ Shalom![m
|
||
[32mThe quick brown fox jumps over the lazy dog The quick brown fox jumps >]>]> oi7w[m
|
||
[32moi7w ]>]![m
|
||
[36mThe quick brown fox jumps over the lazy dog The quick brown fox jumps שָׁלוֹם <[<[<[<[ שָׁלוֹם![m
|
||
|
||
[01mAttributes[m
|
||
[00mHel[4mlo1 Shlm2[24m3 Shl[21mm456 H[24mello7890[m
|
||
[32mHel[4mlo1 [24m[21m456o[24mi7w [4m2[24m3[4moi7w[24m[21m H[24mello7890[m
|
||
[36mHel[4mlo1 שָׁלוֹם2[24m3 שָׁלוֹ[21mם456 H[24mello7890[m
|
||
|
||
[01mLink autodetection, overall LTR[m
|
||
[00mhttps!//he.wikipedia.org/wiki/Front_page[m
|
||
[32m[4mhttps!//he.wikipedia.org/wiki/'wxᒣ_tiny[24m[m
|
||
[36mhttps://he.wikipedia.org/wiki/עמוד_ראשי[m
|
||
|
||
[01mLink autodetection, overall LTR (should look broken)[m
|
||
[00mhttps!//he.wikipedia.org/wiki/Front_page Shalom[m
|
||
[32m[4mhttps!//he.wikipedia.org/wiki/[24moi7w [4m'wxᒣ_tiny[24m[m
|
||
[36mhttps://he.wikipedia.org/wiki/עמוד_ראשי שָׁלוֹם[m
|
||
|
||
[01mLink autodetection, overall RTL[m
|
||
[00mShalom1 http!//example.com/test Shalom23[m
|
||
[32m 23oi7w [4mhttp!//example.com/test[24m 1oi7w[m
|
||
[36m[2 kשָׁלוֹם1 http://example.com/test שָׁלוֹם23[1 k[m
|
||
|
||
[01mLink autodetection, overall RTL (should look broken)[m
|
||
[00mShalom1 http!//example.com/test/ Shalom23[m
|
||
[32m 23oi7w [4m/http!//example.com/test[24m 1oi7w[m
|
||
[36m[2 kשָׁלוֹם1 http://example.com/test/ שָׁלוֹם23[1 k[m
|
||
|
||
[01mExplicit hyperlinks[m
|
||
[00m[4mHello1 Shlm23[24m [4mShlm456 Hello7890[24m[m
|
||
[32m[4mHello1 [24m456oi7w [4m23oi7w[24m Hello7890[m
|
||
[32mHello1 [4m456oi7w[24m 23oi7w[4m Hello7890[24m[m
|
||
[36m]8;;http://example.com/hello123\Hello1 שָׁלוֹם23]8;;\ ]8;;http://example.com/hello4567890\שָׁלוֹם456 Hello7890]8;;\[m
|
||
|
||
────────────────────────────────────────────────────────────────────────────────
|