Skip to content

Commit b213f02

Browse files
authored
fix: Add Unicode punctuations (#2811)
1 parent efc40df commit b213f02

File tree

3 files changed

+41
-1
lines changed

3 files changed

+41
-1
lines changed

src/rules.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,8 @@ export const inline = {
187187

188188
// list of punctuation marks from CommonMark spec
189189
// without * and _ to handle the different emphasis markers * and _
190-
inline._punctuation = '!"#$%&\'()+\\-.,/:;<=>?@\\[\\]`^{|}~';
190+
inline._uc_punctuation = '\\u00A1\\u00A7\\u00AB\\u00B6\\u00B7\\u00BB\\u00BF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E42\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65';
191+
inline._punctuation = '!"#$%&\'()+\\-.,/:;<=>?@\\[\\]`^{|}~' + inline._uc_punctuation;
191192
inline.punctuation = edit(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex();
192193

193194
// sequences em should skip over [title](link), `code`, <html>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<p>Ideographic comma:</p>
2+
3+
<ul>
4+
<li>
5+
<p>
6+
×: あれ、<strong><code>foo</code>これ</strong>、それ
7+
</p>
8+
</li>
9+
<li>
10+
<p>
11+
○: あれ、 <strong><code>foo</code>これ</strong>、それ
12+
</p>
13+
</li>
14+
<li>
15+
<p>
16+
×: あれ、<strong><code>foo</code>これ</strong> 、それ
17+
</p>
18+
</li>
19+
<li><p>○: あれ、<strong>fooこれ</strong>、それ</p></li>
20+
<li>
21+
<p>○: あれ、 <strong>fooこれ</strong>、それ</p>
22+
</li>
23+
<li>
24+
<p>○: あれ、<strong>fooこれ</strong> 、それ</p>
25+
</li>
26+
</ul>
27+
28+
<p><strong>Fullwidth colon</strong>:\uFF1A</p>

test/specs/new/unicode_punctuation.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Ideographic comma:
2+
3+
* ×: あれ、**`foo`これ**、それ
4+
* ○: あれ、 **`foo`これ**、それ
5+
* ×: あれ、**`foo`これ** 、それ
6+
7+
* ○: あれ、**fooこれ**、それ
8+
* ○: あれ、 **fooこれ**、それ
9+
* ○: あれ、**fooこれ** 、それ
10+
11+
__Fullwidth colon__:\uFF1A

0 commit comments

Comments
 (0)