fix: fix emstrong unicode (#3070)

This commit is contained in:
Tony Brix 2023-11-01 22:27:17 -06:00 committed by GitHub
parent 77ca54686a
commit 54b6d1c47d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 3 deletions

View File

@ -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) {

View File

@ -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>

View File

@ -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