[4331] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

Re: [barnowl/barnowl] Make bidi, tag and zero-width space characters

daemon@ATHENA.MIT.EDU (Daniel JB Clark)
Wed Nov 4 04:41:10 2026

Date: Wed, 04 Nov 2026 01:41:07 -0800
From: Daniel JB Clark <notifications@github.com>
Reply-To: barnowl/barnowl <reply+ABCERSJS73ADJXBOZTIEGF3LMRD3HEVBNHHQAAAAAFX6ZVPJ@reply.github.com>
To: barnowl/barnowl <barnowl@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
In-Reply-To: <barnowl/barnowl/pull/195@github.com>


----==_mimepart_6aeafdb34a633_11b12d8119616
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

djbclark left a comment (barnowl/barnowl#195)

Updated this branch, new head 390b265.

Change: U+200B is no longer escaped when it sits between two Khmer, Thai, Lao or Myanmar letters, where it is a normal word separator. It is still escaped everywhere else (between Latin letters, at the start or end of a string, and when doubled). 18 new tests cover this. They fail on the old head and pass now. `make check` passes (876 tests).

Live check in tmux, before (b530262) and after (390b265):
- Text captures: [before](https://github.com/djbclark/barnowl-test-evidence/blob/main/pr-195/v2-before.txt), [after](https://github.com/djbclark/barnowl-test-evidence/blob/main/pr-195/v2-after.txt)
- Screenshots: [before](https://github.com/djbclark/barnowl-test-evidence/blob/main/pr-195/v2-before.png), [after](https://github.com/djbclark/barnowl-test-evidence/blob/main/pr-195/v2-after.png). The renderer has no Khmer/Thai font, so those glyphs are wrong in the PNGs. Use the text captures for that line.

The Khmer/Thai behaviour is covered only by unit tests and the text capture above. Nobody has checked it by hand on real Khmer or Thai text yet.


-- 
Reply to this email directly or view it on GitHub:
https://github.com/barnowl/barnowl/pull/195#issuecomment-6627641316
You are receiving this because you are subscribed to this thread.

Message ID: <barnowl/barnowl/pull/195/c6627641316@github.com>
----==_mimepart_6aeafdb34a633_11b12d8119616
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div style=3D"display: flex; flex-wrap: wrap; white-space: pre-wrap; alig=
n-items: center; "><img height=3D"20" width=3D"20" style=3D"border-radius=
:50%; margin-right: 4px;" decoding=3D"async" src=3D"https://avatars.githu=
busercontent.com/u/131936?s=3D20&amp;v=3D4" /><strong>djbclark</strong> l=
eft a comment <a href=3D"https://github.com/barnowl/barnowl/pull/195#issu=
ecomment-6627641316">(barnowl/barnowl#195)</a></div>
<p dir=3D"auto">Updated this branch, new head <a class=3D"commit-link" da=
ta-hovercard-type=3D"commit" data-hovercard-url=3D"https://github.com/bar=
nowl/barnowl/commit/390b2651c884c705b1d22b4d485f358e67e571d2/hovercard" h=
ref=3D"https://github.com/barnowl/barnowl/commit/390b2651c884c705b1d22b4d=
485f358e67e571d2"><tt>390b265</tt></a>.</p>
<p dir=3D"auto">Change: U+200B is no longer escaped when it sits between =
two Khmer, Thai, Lao or Myanmar letters, where it is a normal word separa=
tor. It is still escaped everywhere else (between Latin letters, at the s=
tart or end of a string, and when doubled). 18 new tests cover this. They=
 fail on the old head and pass now. <code class=3D"notranslate">make chec=
k</code> passes (876 tests).</p>
<p dir=3D"auto">Live check in tmux, before (<a class=3D"commit-link" data=
-hovercard-type=3D"commit" data-hovercard-url=3D"https://github.com/barno=
wl/barnowl/commit/b530262f2a3c600e718a676fbcec06a8f0cefafc/hovercard" hre=
f=3D"https://github.com/barnowl/barnowl/commit/b530262f2a3c600e718a676fbc=
ec06a8f0cefafc"><tt>b530262</tt></a>) and after (<a class=3D"commit-link"=
 data-hovercard-type=3D"commit" data-hovercard-url=3D"https://github.com/=
barnowl/barnowl/commit/390b2651c884c705b1d22b4d485f358e67e571d2/hovercard=
" href=3D"https://github.com/barnowl/barnowl/commit/390b2651c884c705b1d22=
b4d485f358e67e571d2"><tt>390b265</tt></a>):</p>
<ul dir=3D"auto">
<li>Text captures: <a href=3D"https://github.com/djbclark/barnowl-test-ev=
idence/blob/main/pr-195/v2-before.txt">before</a>, <a href=3D"https://git=
hub.com/djbclark/barnowl-test-evidence/blob/main/pr-195/v2-after.txt">aft=
er</a></li>
<li>Screenshots: <a href=3D"https://github.com/djbclark/barnowl-test-evid=
ence/blob/main/pr-195/v2-before.png">before</a>, <a href=3D"https://githu=
b.com/djbclark/barnowl-test-evidence/blob/main/pr-195/v2-after.png">after=
</a>. The renderer has no Khmer/Thai font, so those glyphs are wrong in t=
he PNGs. Use the text captures for that line.</li>
</ul>
<p dir=3D"auto">The Khmer/Thai behaviour is covered only by unit tests an=
d the text capture above. Nobody has checked it by hand on real Khmer or =
Thai text yet.</p>

<p style=3D"font-size:small;-webkit-text-size-adjust:none;color:#666;">&m=
dash;<br />Reply to this email directly, <a href=3D"https://github.com/ba=
rnowl/barnowl/pull/195?email_source=3Dnotifications&amp;email_token=3DABC=
ERSKDJKVWBOGLFSX2X6L5XL2THA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW=
2ZLOOQXTMNRSG43DIMJTGE3KM4TFMFZW63VKON2WE43DOJUWEZLEUVSXMZLOOSWGM33PORSXE=
X3DNRUWG2Y#issuecomment-6627641316">view it on GitHub</a>, or <a href=3D"=
https://github.com/notifications/unsubscribe-auth/ABCERSMM44C3FRM6FT5DRYD=
5XL2THAVCNFSNUABCKJSXA33TNF2G64TZHM3TINZTGA4TWSLTON2WKOZWGE3TENZVHE2TEONB=
OYBA">unsubscribe</a>.<br />Triage notifications, keep track of coding ag=
ent tasks and review pull requests on the go with GitHub Mobile for <a hr=
ef=3D"https://github.com/notifications/mobile/ios/ABCERSJYM66XLC54ND2VUAT=
5XL2THA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNRSG43DIMJT=
GE3KM4TFMFZW63VKON2WE43DOJUWEZLEUVSXMZLOOSVGM33PORSXEX3JN5ZQ">iOS</a> and=
 <a href=3D"https://github.com/notifications/mobile/android/ABCERSKRZMMMS=
Z4IK5ASEE35XL2THA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMN=
RSG43DIMJTGE3KM4TFMFZW63VKON2WE43DOJUWEZLEUVSXMZLOOSXGM33PORSXEX3BNZSHE33=
JMQ">Android</a>. Download it today!
<br />You are receiving this because you are subscribed to this thread.<i=
mg src=3D"https://github.com/notifications/beacon/ABCERSOTJM5FFRHTQCLXJUT=
5XL2THBFCNFSM6AAAAADEC6VOISWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3P=
NVWWK3TUL5UWJTYAAAAADCYJY7SKM4TFMFZW63VKON2WE43DOJUWEZLE.gif" height=3D"1=
" width=3D"1" alt=3D"" /><span style=3D"color: transparent; font-size: 0;=
 display: none; visibility: hidden; overflow: hidden; opacity: 0; width: =
0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <sp=
an>&lt;barnowl/barnowl/pull/195/c6627641316</span><span>@</span><span>git=
hub</span><span>.</span><span>com&gt;</span></span></p>

<script type=3D"application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/barnowl/barnowl/pull/195?email_source=3Dnot=
ifications\u0026email_token=3DABCERSPG5FAZKCGPJYV6JCT5XL2THA5CNFSNUABFM5U=
WIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNRSG43DIMJTGE3KM4TFMFZW63VKON2W=
E43DOJUWEZLEUVSXMZLOOSVWO3LBNFWF6Y3MNFRWW#issuecomment-6627641316",
"url": "https://github.com/barnowl/barnowl/pull/195?email_source=3Dnotifi=
cations\u0026email_token=3DABCERSPG5FAZKCGPJYV6JCT5XL2THA5CNFSNUABFM5UWIO=
RPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMNRSG43DIMJTGE3KM4TFMFZW63VKON2WE43=
DOJUWEZLEUVSXMZLOOSVWO3LBNFWF6Y3MNFRWW#issuecomment-6627641316",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>

----==_mimepart_6aeafdb34a633_11b12d8119616--

home help back first fref pref prev next nref lref last post