← Back to team overview

kicad-developers team mailing list archive

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


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.


[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.


Follow ups