From cf324529175712873522b85ceb5834d5cd4d00d6 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Tue, 12 Sep 2017 19:23:26 -0700 Subject: [PATCH 1/2] Treat \u279C arrow as ambiguous width char (like emoji) Fixes #974 --- src/renderer/ForegroundRenderLayer.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/renderer/ForegroundRenderLayer.ts b/src/renderer/ForegroundRenderLayer.ts index 8e9e23fc3..9334f1093 100644 --- a/src/renderer/ForegroundRenderLayer.ts +++ b/src/renderer/ForegroundRenderLayer.ts @@ -159,6 +159,11 @@ export class ForegroundRenderLayer extends BaseRenderLayer { * @param char The character to search. */ private _isEmoji(char: string): boolean { + // Check special ambiguous width characters + if (char === '➜') { + return true; + } + // Check emoji unicode range return char.search(/([\uD800-\uDBFF][\uDC00-\uDFFF])/g) >= 0; } From ead45fe4d027eabc01e580006e4751d0b3ded091 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Wed, 13 Sep 2017 10:59:55 -0700 Subject: [PATCH 2/2] Add a TODO --- src/renderer/ForegroundRenderLayer.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/renderer/ForegroundRenderLayer.ts b/src/renderer/ForegroundRenderLayer.ts index 9334f1093..19625466e 100644 --- a/src/renderer/ForegroundRenderLayer.ts +++ b/src/renderer/ForegroundRenderLayer.ts @@ -159,6 +159,7 @@ export class ForegroundRenderLayer extends BaseRenderLayer { * @param char The character to search. */ private _isEmoji(char: string): boolean { + // TODO: We need a generic solution for handling characters like this // Check special ambiguous width characters if (char === '➜') { return true;