Fredrick Brennan

Results 633 comments of Fredrick Brennan

It's not feasible if wcswidth(S) must always equal sum(wcwidth(C) for C in S); changing that will certainly break applications...wcwidth itself was always a hack :-)

Sorry to say, that if your internal implementation does not match that of [glibc's](https://github.com/lattera/glibc/blob/master/wcsmbs/wcswidth.c#L30), (which works how I explain,) the mismatch will lead to subtle rendering errors (unless Kitty somehow...

Interesting :-) Well in that case, yes, to my knowledge all emoji ZWJ sequences have a visual wcswidth of 2, but a glibc wcswidth of 4 or more. I'm sorry...

Why not use fribidi

In master you can now use Fribidi if you enable `force_ltr`. See #2293

@egmontkob Sorry to bother you. We've corresponded briefly. Would you have an answer to why Fribidi isn't sufficient? Is the main problem that it impedes text selection (text is reversed)?...

@egmontkob Thank you, you answered my question. Your implementation, (which I consider to be the reference implementation,) uses FriBidi. @XVilka ignored my question which made me think that the answer...

@kovidgoyal I would aim to make BIDI an "enabled-by-default" feature, disabled via "force_ltr". But the current behavior, where single words are reversed by the shaper, would no longer be selectable.

Gotcha, understood. Note https://github.com/fontforge/fontforge/issues/703#issuecomment-582727339, but once that's done I'll take a serious crack at this. Not promising to succeed, but I'll definitely try.

I suppose you're asking for something like this, but much less broken? ![2020-01-31-160753_3840x2102_scrot](https://user-images.githubusercontent.com/838783/73522619-cc576a80-4443-11ea-8af2-1e1899318644.png) The patch that does this is so embarrassingly broken I won't be distributing it, and I have...