← Back to team overview

kicad-developers team mailing list archive

Re: UTF-8 change please test on Windows/Mac


Le 17/10/2018 à 17:55, seth@xxxxxxxxxxxxx a écrit :
> On 2018-10-17 09:21, jp charras wrote:
>> Le 17/10/2018 à 14:01, jp charras a écrit :
>>> Le 17/10/2018 à 13:45, jp charras a écrit :
>>>> Le 17/10/2018 à 01:51, Seth Hillbrand a écrit :
>>>>> Hi All-
>>>>> Our UTF-8 routines are mildly fragile and didn't play nicely with
>>>>> higher-order unicode sequences [1] causing a segfault for anything
>>>>> larger than 16-bits.
>>>>> I've pushed a fix that changes how wchar_t* characters are assigned to
>>>>> the UTF8 class.  This is a band-aid fix as it doesn't address the
>>>>> underlying problems with utilizing wchar (this is compiler dependent)
>>>>> but it keeps us from crashing and I don't think that our stroke font
>>>>> goes into the higher levels.  
>>>>> That said, because this is compiler dependent, it would be very
>>>>> helpful
>>>>> to get some additional testing under Windows in particular.  Please
>>>>> see
>>>>> if you can correctly name nets with a few glyphs from [2].  Ones that
>>>>> are not in our stroke table should display with '?' but remain
>>>>> correctly
>>>>> displayed in the textbox when you edit the label again.  Ones in the
>>>>> stroke table should display correctly in both.
>>>>> Thanks!
>>>>> Seth
>>>>> [1] https://bugs.launchpad.net/kicad/+bug/1798144
>>>>> [2] https://en.wikipedia.org/wiki/List_of_Unicode_characters
>>>> Hi Seth,
>>>> With this fix, on W7 32 bits, msys2, Eeschema crashes at start, when
>>>> run
>>>> from Kicad manager.
>>>> Strangely, it runs when started as stand alone.
>>>> Gdb is not useful to know what happens.
>>> More test:
>>> In fact eeschema crashes when reading the .sch file that contains the
>>> UFT8 char.
>>> I used in my test the char 'ñ' (OxC3 OxB1 utf8 code) in a label.
>>> This is the reason it crashed when starting from Kicad.
>>> Note, without the fix, the .sch file is loaded without issue.
>> Besides, I did not see issues with UTF8 chars larger than 16-bits on
>> Windows with the previous code (but I did not make a lot of tests).
> OK, I'll need to look at this more deeply.  Does W7 work with the
> example unicode 😕?  This is the one given in the bug report that
> crashes Linux.
> -Seth

It is incorrectly displayed in dialogs, but it does not create issues in
eeschema and pcbnew.
I tested 2 other unicode chars (‱ and ☺) shown in dialogs and ‱ is shown
with our graphic font.
I am thinking these two unicode chars have a code > 16 bits.

Jean-Pierre CHARRAS

Follow ups