Text rendering of Unicode text in LC

Peter Bogdanoff bogdanoff at me.com
Mon Aug 13 16:56:07 EDT 2018


Here is a sample of the Chinese text. It has a button to click to toggle showing the text and the htmlText in the same fields. Note to see the text problems you will have to open this in Windows 10. I must point out that the LC 8 versions only show the anti-alias rendering problem in Chinese MS Windows installations!

LC 9.0: Bold and not bold-looking rendered text mixed in together. It should be NOT bold.
LC 8.1.9:Shows bitmap glyphs in standard Windows OS. However it renders text as anti-aliased but poorly in Chinese MS Windows installations
LC 8.1.3 Shows bitmap glyphs in standard Windows OS. However it renders text as anti-aliased but poorly in Chinese MS Windows installations

https://artsinteractive-products.s3.amazonaws.com/MITA/Chinese%20Display%20Sample.livecode

pb

> On Aug 13, 2018, at 1:11 PM, Peter Bogdanoff via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> Thanks Mark for your reply.
> 
>> 
>> Heh - well I can't explain the difference between 8.1.3 and 8.1.9 - there's no changes to libgraphics or libskia between those two versions (as far as I can see) also with a quick diff of the relevant source files I can't see any relevant field changes, or image changes (which would be the cause of the vertical stretching of the inline image). However, that was just with a 'quick look' so can't say for absolute certain.
>> 
>> The main change we made to text rendering was between 8.1.x and 9.0.x - when we updated Skia to the latest (at the time) version.
>> 
>> One thing I do notice looking at the text (although I don't read Chinese ideographs, so I'm doing this purely on shape and a rather intense staring at the LC9 image you provided) is this...
>> 
>> You never seem to get a character which looks the same appearing in 'bold' and 'non-bold'. Now, this isn't bold and non-bold - this is sub-pixel anti-aliased and bitmap I presume.
>> 
>> This makes me think that not all your glyphs are being rendered using Songti SC Regular - and you are suffering from 'font fallback'. When the chosen font does not contain glyphs that are needed, the 'closest matching' font on the system which has those glyphs is used.
> 
> I’ll see if I can find repeated characters that would have missing glyphs.
>> 
>> If you can determine what ideographs are being rendered seemingly bold and non-bold (by Unicode codepoint ideally) - then that might help diagnose that (also finding a case where the same ideograph appears once as bold and once as non-bold would prove that hypothesis false).
>> 
>> The other odd thing I notice is that the field containing the inline images appears to have a slight drift downwards compared to the one without. You can try using 'fixedLineHeight' of the fields to solve that - all ideographic lines should have the same height (as ideographs are traditionally drawn in a fixed grid).
> 
> I can’t use fixed line height, because we use inline “thumbnail” images that would span several lines. The Chinese readers haven’t complained about this particular issue. The do complain that the characters don’t have enough horizontal space when rendered.
> 
>> 
>> If you can copy and paste the two example fields you have there (with relevant image needed for the speaker so it renders) I can take a closer look - looking at an image is not the best way to diagnose issues really!
> 
> I'll prepare a sample stack.
> 
>> 
>> Warmest Regards,
>> 
>> Mark.
>> 
>> -- 
>> Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
>> LiveCode: Everyone can create apps
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com <mailto:use-livecode at lists.runrev.com>
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode <http://lists.runrev.com/mailman/listinfo/use-livecode>



More information about the use-livecode mailing list