mirror of
https://github.com/markedjs/marked
synced 2024-11-22 17:37:24 +00:00
fix: fix emstrong unicode (#3070)
This commit is contained in:
parent
77ca54686a
commit
54b6d1c47d
@ -629,7 +629,7 @@ export class _Tokenizer {
|
||||
endReg.lastIndex = 0;
|
||||
|
||||
// Clip maskedSrc to same section of string as src (move to lexer?)
|
||||
maskedSrc = maskedSrc.slice(-1 * src.length + match[0].length - 1);
|
||||
maskedSrc = maskedSrc.slice(-1 * src.length + lLength);
|
||||
|
||||
while ((match = endReg.exec(maskedSrc)) != null) {
|
||||
rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];
|
||||
@ -654,8 +654,9 @@ export class _Tokenizer {
|
||||
|
||||
// Remove extra characters. *a*** -> *a*
|
||||
rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);
|
||||
|
||||
const raw = [...src].slice(0, lLength + match.index + rLength + 1).join('');
|
||||
// char length can be >1 for unicode characters;
|
||||
const lastCharLength = [...match[0]][0].length;
|
||||
const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);
|
||||
|
||||
// Create `em` if smallest delimiter has odd char count. *a***
|
||||
if (Math.min(lLength, rLength) % 2) {
|
||||
|
@ -18,3 +18,5 @@
|
||||
<p><strong>⚠️ test</strong></p>
|
||||
<p>Here, the emoji rendering works, but the text doesn't get rendered in italic.</p>
|
||||
<p><em>💁 test</em></p>
|
||||
<p><em>t💁t</em> test</p>
|
||||
<p><strong>t💁t</strong> test</p>
|
||||
|
@ -37,3 +37,7 @@ Situations where it works:
|
||||
Here, the emoji rendering works, but the text doesn't get rendered in italic.
|
||||
|
||||
*💁 test*
|
||||
|
||||
*t💁t* test
|
||||
|
||||
**t💁t** test
|
||||
|
Loading…
Reference in New Issue
Block a user