kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #40439
Re: 6.0 string proposal
On 5/2/19 5:32 PM, Dick Hollenbeck wrote:
> On 4/30/19 4:36 AM, Jeff Young wrote:
>> We had talked earlier about throwing the wxWidgets UTF8 compile switch to get rid of our wxString re-entrancy problems. However, I noticed that the 6.0 work packages doc includes an item for std::string-ization of the BOARD. (While a lot more work, this is a better solution because it also increases our gui-toolkit-choice flexibility.)
>>
>> I’d like to propose that we use std::wstring for that. UTF8 should *only* be an encoding format (similar to s-expr). It should never be used internally. That’s what unicode wchar_t’s are for.
>>
>> And I’d like to propose that we extend std::wstring-ization to SCH_ITEM and LIB_ITEM. (Then we can get rid of a bunch of our ugly mutex hacks.)
>
>
> I've been looking at this for a few months now. I think it is so important, that a
> sub-committee should be formed, and if that committee takes as long as 4 months to come to
> a recommendation, this would not be too long. This issue is simply too critical.
>
> I would like to volunteer to be on that committee. For the entire list to participate in
> this simply does not make sense to me. I would welcome the opportunity to study this with
> a team of 5-6 players. More than that probably leads to anxiety. Then, given the
> recommendations, the list would of course have an opportunity to raise questions and take
> shots, before a strategy is formulated, and before anything is implemented.
>
> Again, approximately:
>
> committee recommendations -> list approval -> strategy formulation -> implementation
>
>
> Up to now I have looked at many libraries and have [way *too* much] experience in multiple
> languages on multiple platforms, so I think I can be valuable contributor.
>
> The final work product initially would simply be a list of recommendations, that quickly
> transforms to a strategy thereafter. This is an enormous undertaking, so I suggest
> against racing to a solution. It could look a lot easier than it will ultimately be, as
> is typical in software development. But the return on investment needs to be near optimal
> in the end.
>
> Some questions to answer are:
>
> a) How did wxString get to its current state? Is is merely a conglomeration of after
> thought, or is is anywhere near optimal.
>
> b) Why so many forms of it? Can one form be chosen for all platforms?
>
> c) How does wxString it compare to QtString?
>
> d) What does the set of characters that don't fall into UCS2 actually look like? How big
> is this set, really? (UTF16 is bigger than UCS2 and picks up the difference.)
>
> e) For data files, I think UTF8 is fine. So the change is for RAM manipulation of
> strings. Aren't we talking about a RAM resident string that bridges into the GUI seamlessly?
>
> f) What does new C++ language support offer?
>
> g) What do C++ language designers suggest?
h) What is the list of deficiencies with current string usage?
>
>
> etc.
>
> But this is best continued in a smaller group, as said.
>
>
> The other thing that I bring to this is vast familiarity with KiCad's internal workings,
> string use cases, and goals.
>
> Let me know if I can help.
>
> Regards,
>
> Dick
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
Follow ups
References