Unicode support
#1
Hi, a completely new user here! Big Grin

I just bought my PineTIme, and it's the first product I've ever bought from Pine64. I was wondering if there is any reason for the PineTime to not support Unicode characters? The letters from my native language simply do not show up. Thanks to GadgetBridge I can at least replace those letters with other letters to better understand, but I find it weird that the device doesn't support Unicode.

So my question/point of discussion; Is there a technical limitation or something preventing Unicode-support? If so, what approach could the devs take to possibly support unicode or special characters? Is there any way a non-technical user can help out getting something like this through, or is it on some sort of roadmap already?
  Reply
#2
(07-24-2021, 06:43 PM)Bloodaxe Wrote: Hi, a completely new user here! Big Grin

Welcome Smile

(07-24-2021, 06:43 PM)Bloodaxe Wrote: I just bought my PineTIme, and it's the first product I've ever bought from Pine64. I was wondering if there is any reason for the PineTime to not support Unicode characters? The letters from my native language simply do not show up. Thanks to GadgetBridge I can at least replace those letters with other letters to better understand, but I find it weird that the device doesn't support Unicode.

Anything the watch doesn't currently support is just waiting for somebody to support it! It's open source, so worst case you can just copy what is currently there and rebuild it in your own way!

One reason for not supporting Unicode may arise from the limited RAM and wanting to make guarantees about maximum RAM usage. In ASCII (basic English characters only) you're essentially limited to one byte per character, whereas in Unicode they are mixed length, mixed size and there are all sorts of weird rules for when some characters appear next to each other.

It does appear that InfiniTime does currently only support `char`, which is a byte: https://github.com/JF002/InfiniTime/blob...e.cpp#L264

(07-24-2021, 06:43 PM)Bloodaxe Wrote: So my question/point of discussion; Is there a technical limitation or something preventing Unicode-support?

Yes, which is RAM. It also requires a significant amount of CPU time to decode, position and display these additional characters.

(07-24-2021, 06:43 PM)Bloodaxe Wrote: If so, what approach could the devs take to possibly support unicode or special characters?

Possibly. It might be possible to support a *strict* subset of Unicode characters, but this would require a lot of work.

One problem you will always have is that nobody will ever be happy unless the support is full Unicode. This is exactly the problem the Unicode group have themselves.

(07-24-2021, 06:43 PM)Bloodaxe Wrote: Is there any way a non-technical user can help out getting something like this through, or is it on some sort of roadmap already?

You can follow the discussion here: https://github.com/JF002/InfiniTime/issues/261

If you would like to help, there are likely several ways forwards:

1. Express your interest on the ticket itself and explain that it affects you too. Issues that affect many users are more likely to gain attention.

2. Offer resources/incentive to the developer. For example, this could be by putting a bounty on the issue (offering some money for the work to be done) or some other resources they require to complete the work/live.

3. Solve the problem yourself. This is the hardest and longest way to solve the problem, but arguably also the most rewarding.
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)